|
|
|
|
@ -507,7 +507,7 @@ class IFreqaiModel(ABC):
|
|
|
|
|
"feature_engineering_* functions"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
def define_data_pipeline(self) -> Pipeline:
|
|
|
|
|
def define_data_pipeline(self, threads=-1) -> Pipeline:
|
|
|
|
|
ft_params = self.freqai_info["feature_parameters"]
|
|
|
|
|
feature_pipeline = Pipeline([
|
|
|
|
|
('const', ds.VarianceThreshold(threshold=0)),
|
|
|
|
|
@ -526,10 +526,10 @@ class IFreqaiModel(ABC):
|
|
|
|
|
|
|
|
|
|
di = ft_params.get("DI_threshold", 0)
|
|
|
|
|
if di:
|
|
|
|
|
feature_pipeline.append(('di', ds.DissimilarityIndex(di_threshold=di)))
|
|
|
|
|
feature_pipeline.append(('di', ds.DissimilarityIndex(di_threshold=di, n_jobs=threads)))
|
|
|
|
|
|
|
|
|
|
if ft_params.get("use_DBSCAN_to_remove_outliers", False):
|
|
|
|
|
feature_pipeline.append(('dbscan', ds.DBSCAN()))
|
|
|
|
|
feature_pipeline.append(('dbscan', ds.DBSCAN(n_jobs=threads)))
|
|
|
|
|
|
|
|
|
|
sigma = self.freqai_info["feature_parameters"].get('noise_standard_deviation', 0)
|
|
|
|
|
if sigma:
|
|
|
|
|
@ -540,7 +540,7 @@ class IFreqaiModel(ABC):
|
|
|
|
|
|
|
|
|
|
return feature_pipeline
|
|
|
|
|
|
|
|
|
|
def define_label_pipeline(self) -> Pipeline:
|
|
|
|
|
def define_label_pipeline(self, threads=-1) -> Pipeline:
|
|
|
|
|
|
|
|
|
|
label_pipeline = Pipeline([
|
|
|
|
|
('scaler', SKLearnWrapper(MinMaxScaler(feature_range=(-1, 1))))
|
|
|
|
|
|