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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions