Что делает Imputer.fit со значением nan?

1

Я изучаю компьютерное обучение, используя библиотеку 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)?

Теги:
scikit-learn

1 ответ

0
Лучший ответ

Когда вы запускаете imp.fit, он вычисляет значение для замены в каждом столбце (в данном случае mean).

Вы можете получить доступ к тому, что я держу в каждом столбце, с помощью: imp.statistics_

Когда вы запускаете imp.transform, он заполняет NaN с соответствующим значением (что находится в imp.statistics_)

  • 0
    Спасибо, теперь мне понятно, посмотрев, что внутри imp.statistics_

Ещё вопросы

Сообщество Overcoder
Наверх
Меню