sklearn :ImportError: cannot import name 'Imputer'

在學習中國大學mooc中學習Python機器學習應用(禮欣、嵩天)里人體運動...程序編寫遇到的問題

# 模塊導入
import numpy as np
import pandas as pd

from sklearn.preprocessing import Imputer
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

問題1:導入Imputer出錯

ImportError                               Traceback (most recent call last)
<ipython-input-55-67f8b87066ad> in <module>()
      3 import pandas as pd
      4 
----> 5 from sklearn.preprocessing import Imputer
      6 from sklearn.model_selection import train_test_split
      7 from sklearn.metrics import classification_report

ImportError: cannot import name 'Imputer'

原因是0.22版本sklearn,imputer不在preprocessing裏了,而是在sklearn.impute裏,除了SimpleImputer外,還增加了KNNImputer。另外還有IterativeImputer用法,可以參考這個 https://scikit-learn.org/stable/modules/impute.html#impute 以及 https://scikit-learn.org/stable/modules/preprocessing.html#preprocessing 

問題2:

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Imputer.(missing_values='NaN', strategy='mean')

需要改爲

impute.SimpleImputer(missing_values=np.nan, strategy='mean')

 

課程其他問題:

SystemError: new style getargs format but argument is not a tuple[與putpixel(xy, value)相關]
https://blog.csdn.net/weixin_43584807/article/details/104209292

請使用手機"掃一掃"x
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章