From 41e37f9d322d95706c9c11afe7792a544c56d778 Mon Sep 17 00:00:00 2001 From: robcaulk Date: Sat, 10 Jun 2023 13:11:47 +0200 Subject: [PATCH] improve docs, update doc strings --- docs/strategy_migration.md | 11 +++++++++-- freqtrade/freqai/base_models/BaseClassifierModel.py | 4 ++-- freqtrade/freqai/base_models/BaseRegressionModel.py | 4 ++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/strategy_migration.md b/docs/strategy_migration.md index 2fef5e516..353da0ccb 100644 --- a/docs/strategy_migration.md +++ b/docs/strategy_migration.md @@ -736,7 +736,7 @@ If you have created your own custom `IFreqaiModel` with a custom `train()`/`pred The conversion involves first removing `data_cleaning_train/predict()` and replacing them with a `define_data_pipeline()` and `define_label_pipeline()` function to your `IFreqaiModel` class: -```python linenums="1" hl_lines="11-14 43-44 51-52" +```python linenums="1" hl_lines="11-14 47-49 55-57" class MyCoolFreqaiModel(BaseRegressionModel): """ Some cool custom IFreqaiModel you made before Freqtrade version 2023.6 @@ -773,9 +773,13 @@ class MyCoolFreqaiModel(BaseRegressionModel): dd["train_labels"], _, _ = dk.label_pipeline.fit_transform(dd["train_labels"]) dd["test_labels"], _, _ = dk.label_pipeline.transform(dd["test_labels"]) + # ... your custom code + + return model + def predict( self, unfiltered_df: DataFrame, dk: FreqaiDataKitchen, **kwargs - ) -> Tuple[DataFrame, npt.NDArray[np.int_]]: # 37 + ) -> Tuple[DataFrame, npt.NDArray[np.int_]]: # ... your custom stuff @@ -798,6 +802,9 @@ class MyCoolFreqaiModel(BaseRegressionModel): else: dk.DI_values = np.zeros(len(outliers.index)) dk.do_predict = outliers.to_numpy() + + # ... your custom code + return (pred_df, dk.do_predict) ``` diff --git a/freqtrade/freqai/base_models/BaseClassifierModel.py b/freqtrade/freqai/base_models/BaseClassifierModel.py index 2df639b55..e536efea3 100644 --- a/freqtrade/freqai/base_models/BaseClassifierModel.py +++ b/freqtrade/freqai/base_models/BaseClassifierModel.py @@ -17,8 +17,8 @@ logger = logging.getLogger(__name__) class BaseClassifierModel(IFreqaiModel): """ Base class for regression type models (e.g. Catboost, LightGBM, XGboost etc.). - User *must* inherit from this class and set fit() and predict(). See example scripts - such as prediction_models/CatboostPredictionModel.py for guidance. + User *must* inherit from this class and set fit(). See example scripts + such as prediction_models/CatboostClassifier.py for guidance. """ def train( diff --git a/freqtrade/freqai/base_models/BaseRegressionModel.py b/freqtrade/freqai/base_models/BaseRegressionModel.py index d7e7d9916..f1e33bff8 100644 --- a/freqtrade/freqai/base_models/BaseRegressionModel.py +++ b/freqtrade/freqai/base_models/BaseRegressionModel.py @@ -16,8 +16,8 @@ logger = logging.getLogger(__name__) class BaseRegressionModel(IFreqaiModel): """ Base class for regression type models (e.g. Catboost, LightGBM, XGboost etc.). - User *must* inherit from this class and set fit() and predict(). See example scripts - such as prediction_models/CatboostPredictionModel.py for guidance. + User *must* inherit from this class and set fit(). See example scripts + such as prediction_models/CatboostRegressor.py for guidance. """ def train(