簡體   English   中英

sklearn:TypeError:fit() 缺少 1 個必需的位置參數:“x”

[英]sklearn: TypeError: fit() missing 1 required positional argument: 'x"

在嘗試運行時

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values ="NaN", strategy = "mean")
imputer = SimpleImputer.fit(X[:,1:3])
X[:,1:3] = SimpleImputer.transform(X[:,1:3])

我收到一個錯誤

類型錯誤:fit() 缺少 1 個必需的位置參數:'X'

但是我已經提供了x,對嗎? 解決這個問題的方法是什么?

根據這個 Scikit-learn 模塊,正確的語法應該是:

imputer.fit(X[:,1:3])

代替:

imputer = SimpleImputer.fit(X[:,1:3])

完全工作的代碼如下所示:

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values = np.nan, strategy = "mean")
imputer = imputer.fit(X[:,1:3])
X[:,1:3] = imputer.transform(X[:,1:3])

請注意:

missing_values = np.nan

你的代碼:

from sklearn.impute import SimpleImputer
# PAY ATTENTION: to NaN as np.nan
imputer = SimpleImputer(**missing_values ="NaN"**, strategy = "mean")
imputer = SimpleImputer.fit(X[:,1:3])
# PAY ATTENTION: instead of "SimpleImputer.transform" use "imputer.transform"
X[:,1:3] = **SimpleImputer**.transform(X[:,1:3])

正確代碼:

from sklearn.impute import SimpleImputer  
imputer = SimpleImputer(missing_values=np.nan, strategy='mean',fill_value=None, verbose=0, copy=True)  
imputer = imputer.fit(X[:, 1:3])  
X[:, 1:3] = imputer.transform(X[:, 1:3])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM