Fix constant PCA

This commit is contained in:
th0rntwig 2022-10-15 23:30:12 +02:00
parent 62ca822597
commit 20fc521771

View File

@ -206,7 +206,11 @@ class FreqaiDataKitchen:
drop_index = pd.isnull(filtered_df).any(axis=1) # get the rows that have NaNs, drop_index = pd.isnull(filtered_df).any(axis=1) # get the rows that have NaNs,
drop_index = drop_index.replace(True, 1).replace(False, 0) # pep8 requirement. drop_index = drop_index.replace(True, 1).replace(False, 0) # pep8 requirement.
ft_params = self.freqai_config["feature_parameters"]
if (training_filter): if (training_filter):
if not ft_params.get(
"principal_component_analysis", False
):
const_cols = list((filtered_df.nunique() == 1).loc[lambda x: x].index) const_cols = list((filtered_df.nunique() == 1).loc[lambda x: x].index)
if const_cols: if const_cols:
filtered_df = filtered_df.filter(filtered_df.columns.difference(const_cols)) filtered_df = filtered_df.filter(filtered_df.columns.difference(const_cols))
@ -241,6 +245,9 @@ class FreqaiDataKitchen:
self.data["filter_drop_index_training"] = drop_index self.data["filter_drop_index_training"] = drop_index
else: else:
if not ft_params.get(
"principal_component_analysis", False
):
filtered_df = self.check_pred_labels(filtered_df) filtered_df = self.check_pred_labels(filtered_df)
# we are backtesting so we need to preserve row number to send back to strategy, # we are backtesting so we need to preserve row number to send back to strategy,
# so now we use do_predict to avoid any prediction based on a NaN # so now we use do_predict to avoid any prediction based on a NaN