У меня есть набор данных из 284 функций, которые я пытаюсь вписать с помощью scikit-learn, однако я получаю сообщение об ошибке, когда число функций меняется на 283:
imputer = SimpleImputer(missing_values = np.nan, strategy = "mean")
imputer = imputer.fit(data.iloc[:,0:284])
df[:,0:284] = imputer.transform(df[:,0:284])
X = MinMaxScaler().fit_transform(df)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-150-849be5be8fcb> in <module>
1 imputer = SimpleImputer(missing_values = np.nan, strategy = "mean")
2 imputer = imputer.fit(data.iloc[:,0:284])
----> 3 df[:,0:284] = imputer.transform(df[:,0:284])
4 X = MinMaxScaler().fit_transform(df)
~\Anaconda3\envs\environment\lib\site-packages\sklearn\impute\_base.py in transform(self, X)
411 if X.shape[1] != statistics.shape[0]:
412 raise ValueError("X has %d features per sample, expected %d"
--> 413 % (X.shape[1], self.statistics_.shape[0]))
414
415 # Delete the invalid columns if strategy is not constant
ValueError: X has 283 features per sample, expected 284
Я не понимаю, как это достигает 283 функций, я полагаю, что при подборе он находит функции, которые имеют все 0 или что-то еще, и решил отбросить их, но я не могу найти документацию, которая говорит мне, как обеспечить сохранение этих функций. Я не программист, поэтому не уверен, что мне не хватает чего-то очевидного или мне лучше искать другой метод?