Python SciKit学习:TypeError:fit()缺少1个必需的位置参数:';y';使用()正确初始化构造函数时

Python SciKit学习:TypeError:fit()缺少1个必需的位置参数:';y';使用()正确初始化构造函数时,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我尝试使用SciKit Learn的线性回归分析数据集。我的数据集是一个包含数据和一行标签的csv文件。我的代码如下: import numpy as np import pandas as pd from sklearn import linear_model data = pd.read_csv('temp.csv') reg = linear_model.LinearRegression() reg.fit(data) 当我运行这段代码时,我得到一个错误:TypeError:fit

我尝试使用SciKit Learn的线性回归分析数据集。我的数据集是一个包含数据和一行标签的csv文件。我的代码如下:

import numpy as np
import pandas as pd

from sklearn import linear_model

data = pd.read_csv('temp.csv')

reg = linear_model.LinearRegression()
reg.fit(data)
当我运行这段代码时,我得到一个错误:
TypeError:fit()缺少1个必需的位置参数:“y”

有此错误的其他程序员似乎通常没有正确初始化模型(通过省略默认构造函数的括号),但是我有括号,我直接从sklearn示例中提取了初始化语句。因此,我不确定到底出了什么问题


虽然我在过去做了大量的机器学习模型工作,但我只使用了TensorFlow。我现在和一个使用SciKit learn的小组一起工作,但我对它的低经验意味着这可能是一个我忽略的非常简单的错误

线性回归
是一种监督学习方法。因此,在尝试适合您的模型时,您必须提供
y
标签。因此,在
temp.csv
文件中,应该有一列表示数据集的
y
值。

类似这样的内容(如果y标签有一列):


拟合的定义是

fit(X, y, sample_weight=None)
您已经提供了X作为“数据”,但还需要提供y参数值。这里y是标签,即“数据”中每个数据行的类。

通过调用fit,您正在训练您的模型,这意味着您正在告诉每个数据行y应该是类。因此,您还需要提供y,否则您将得到上面的错误

有两个必需的参数,
X
y
。尝试类似的方法:
reg.fit(X=data[list\u of\u feature\u columns],y=data[target\u variable\u column])
请提供
.csv文件的示例
fit(X, y, sample_weight=None)