【问题标题】:scikit-learn - TypeError: fit() missing 1 required positional argument: 'y'scikit-learn - TypeError:fit()缺少1个必需的位置参数:'y'
【发布时间】:2019-02-04 02:32:25
【问题描述】:
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,但出现此错误。我不明白出了什么问题。我尝试在互联网上搜索它,但没有帮助

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

提前致谢!

【问题讨论】:

  • 这一行末尾的点X = dataset.iloc[:,[2,3]].values.是什么?

标签: python machine-learning scikit-learn logistic-regression


【解决方案1】:

您已经在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

【讨论】:

  • 非常感谢您的帮助!我解决了这个错误,但是我得到了另一个关于数据类型转换的错误,如下所述;你能帮帮我吗? DataConversionWarning:具有输入 dtype int64 的数据已由 StandardScaler 转换为 float64。 warnings.warn(msg, DataConversionWarning) 我尝试在网上搜索,但找不到任何相关内容
  • 这是一个警告,而不是错误。尝试通过this链接
  • 再次感谢您!!
【解决方案2】:

您正尝试再次将您的分类器与您的测试数据相匹配:

y_pred = classifier.fit(X_test)

如果不传递标签当然是不可能的(因此缺少y 的错误);我假设你真正想要做的是得到预测你的测试数据,在这种情况下你应该使用predict,而不是fit

y_pred = classifier.predict(X_test)

【讨论】:

  • 抱歉,我的答案恰好比你晚了 15-20 秒。我们在平行宇宙中写作 :)
  • @Bazingaa 当然,没问题 - 这样的事情发生了 :)
  • 非常感谢!我收到了错误,现在已经解决了!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-25
  • 2020-09-21
  • 1970-01-01
  • 2020-11-15
  • 2017-05-28
  • 2020-01-06
相关资源
最近更新 更多