Skip to content

AttributeError: 'Pipeline' object has no attribute 'features_in'. Did you mean: 'feature_list'? #23

Description

@LuisAlejandro

I'm having this error using the fretrade/freqai bot.

2025-08-22 07:56:12,576 - freqtrade - ERROR - Fatal exception!
Traceback (most recent call last):
  File "/freqtrade/freqtrade/main.py", line 47, in main
    return_code = args["func"](args)
  File "/freqtrade/freqtrade/commands/optimize_commands.py", line 61, in
start_backtesting
    backtesting.start()
    ~~~~~~~~~~~~~~~~~^^
  File "/freqtrade/freqtrade/optimize/backtesting.py", line 1820, in start
    min_date, max_date = self.backtest_one_strategy(strat, data, timerange)
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/freqtrade/freqtrade/optimize/backtesting.py", line 1730, in
backtest_one_strategy
    preprocessed = self.strategy.advise_all_indicators(data)
  File "/freqtrade/freqtrade/strategy/interface.py", line 1748, in
advise_all_indicators
    res[pair] = self.advise_indicators(pair_data.copy(), {"pair": pair}).copy()
                ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/freqtrade/freqtrade/strategy/interface.py", line 1803, in
advise_indicators
    dataframe = self.populate_indicators(dataframe, metadata)
  File "/freqtrade/user_data/strategies/EnhancedLSTMStrategy.py", line 441, in
populate_indicators
    dataframe = self.freqai.start(dataframe, metadata, self)
  File "/freqtrade/freqtrade/freqai/freqai_interface.py", line 161, in start
    dk = self.start_backtesting(dataframe, metadata, self.dk, strategy)
  File "/freqtrade/freqtrade/freqai/freqai_interface.py", line 392, in
start_backtesting
    pred_df, do_preds = self.predict(dataframe_backtest, dk)
                        ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/freqtrade/freqtrade/freqai/base_models/BasePyTorchRegressor.py", line
43, in predict
    dk.data_dictionary["prediction_features"], outliers, _ =
dk.feature_pipeline.transform(
                                                             ~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~^
        dk.data_dictionary["prediction_features"], outlier_check=True
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File
"/home/freqtrade/.local/lib/python3.13/site-packages/datasieve/pipeline.py",
line 92, in transform
    X, y, sample_weight = self._validate_arguments(
                          ~~~~~~~~~~~~~~~~~~~~~~~~^
        X, y, sample_weight, outlier_check=outlier_check)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/freqtrade/.local/lib/python3.13/site-packages/datasieve/pipeline.py",
line 167, in _validate_arguments
    if list(X.columns) != list(self.features_in):
                               ^^^^^^^^^^^^^^^^
AttributeError: 'Pipeline' object has no attribute 'features_in'. Did you mean:
'feature_list'?

I'm still figuring out what is happening, but regardless of that, I think there might me an error on the Pipeline class. Apparently it references features_in but its value is never initialized, or thats what I saw, maybe I'm wrong.

Greetings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions