Я изучаю компьютерное обучение, используя библиотеку scikit-learn, и я был озадачен, когда увидел код из учебника Scikit-learn
Он имеет следующий код:
import numpy as np
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, strategy='mean')
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(imp.transform(X))
Из того, что я понимаю, imputer используется для заполнения недостающих значений и что он использует некоторую стратегию, такую как средний, медианный или режим. Но я не понимаю, что делают эти 3 строки кода
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(imp.transform(X))
Почему он соответствует матрице с np.nan
? И как эти фитинги влияют на imp.transform(X)
?
Когда вы запускаете imp.fit
, он вычисляет значение для замены в каждом столбце (в данном случае mean
).
Вы можете получить доступ к тому, что я держу в каждом столбце, с помощью: imp.statistics_
Когда вы запускаете imp.transform
, он заполняет NaN
с соответствующим значением (что находится в imp.statistics_
)
imp.statistics_