簡體   English   中英

scikit-learn-TypeError:fit()缺少1個必需的位置參數:“ y”

[英]scikit-learn - TypeError: fit() missing 1 required positional argument: 'y'

import numpy as np
import pandas as pd

dataset=pd.read_csv("/Users/rushirajparmar/Downloads/Social_network_Ads.csv",error_bad_lines = False)


X = dataset.iloc[:,[2,3]].values.  
Y = dataset.iloc[:,4].values

from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size =  0.25,random_state = 0) 

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression()
classifier.fit(X_train,Y_train)

y_pred = classifier.fit(X_test)

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(Y_test, y_pred)

我剛開始練習LogisticRegression時遇到此錯誤。我不明白是什么錯誤。我嘗試在Internet上搜索它,但沒有幫助

y_pred = classifier.fit(X_test).values.ravel()

TypeError: fit() missing 1 required positional argument: 'y'

以下是數據集的鏈接:

https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/datasets/Social_Network_Ads.csv

提前致謝!

您正在嘗試再次使用測試數據來適合您的分類器:

y_pred = classifier.fit(X_test)

當然這也需要不傳遞標簽(因此會丟失y的錯誤); 我假設您真正想做的是獲取測試數據的預測 ,在這種情況下,您應該使用predict ,而不fit

y_pred = classifier.predict(X_test)

您已經在classifier.fit(X_train,Y_train)擬合了訓練數據。 classifier是您的模型,現在您要預測測試X數據的y值( y_pred )。 因此,您需要做的是

y_pred = classifier.predict(X_test)

但是你在做什么

y_pred = classifier.fit(X_test)

因此,您遇到的錯誤fit() missing 1 required positional argument: 'y'因為在擬合時,您還需要在此處使用因變量y

只需更換.fit通過.predict在上述行。

暫無
暫無

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

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