Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sklearn.fit()和.score()之间的关系_Python_Scikit Learn_Linear Regression - Fatal编程技术网

Python sklearn.fit()和.score()之间的关系

Python sklearn.fit()和.score()之间的关系,python,scikit-learn,linear-regression,Python,Scikit Learn,Linear Regression,在使用线性回归模型时,我将数据分为训练集和测试集。然后,我使用以下公式计算R^2、RMSE和MAE: lm.fit(X_train, y_train) R2 = lm.score(X,y) y_pred = lm.predict(X_test) RMSE = np.sqrt(metrics.mean_squared_error(y_test, y_pred)) MAE = metrics.mean_absolute_error(y_test, y_pred) 我以为我是在计算整个数据集的R^2

在使用线性回归模型时,我将数据分为训练集和测试集。然后,我使用以下公式计算R^2、RMSE和MAE:

lm.fit(X_train, y_train)
R2 = lm.score(X,y)
y_pred = lm.predict(X_test)
RMSE = np.sqrt(metrics.mean_squared_error(y_test, y_pred))
MAE = metrics.mean_absolute_error(y_test, y_pred)
我以为我是在计算整个数据集的R^2(而不是比较训练数据和原始数据)。但是,我了解到,在评分之前,您必须先对模型进行拟合,因此我不确定是对原始数据(如R2中输入的)还是我用于拟合模型的数据(X_序列和y_序列)进行评分。当我跑步时:

lm.fit(X_train, y_train)
lm.score(X_train, y_train)
我得到的结果与我在得分X和y时得到的结果不同。所以我的问题是,与拟合的模型相比,.score参数的输入是(从而使lm.fit(X,y);lm.score(X,y)成为原始数据的R^2值,而lm.fit(X,y)是基于.fit中创建的模型的原始数据的R^2值)还是完全发生了其他事情?

fit()只适合与训练同义的数据,即适合数据意味着训练数据。 分数有点像测试或预测

因此,应该使用不同的数据集来训练分类器并测试其准确性 一个人可以这样做。 X_序列,X_测试,y_序列,y_测试=交叉验证。序列测试分割(X,y,测试大小=0.2) clf=neighborsClassifier()的邻居 clf.fit(X_系列、y_系列) 准确度=clf。分数(X_检验,y_检验)

fit()只拟合与训练同义的数据,即拟合数据意味着训练数据。 分数有点像测试或预测

因此,应该使用不同的数据集来训练分类器并测试其准确性 一个人可以这样做。 X_序列,X_测试,y_序列,y_测试=交叉验证。序列测试分割(X,y,测试大小=0.2) clf=neighborsClassifier()的邻居 clf.fit(X_系列、y_系列)
准确度=clf。分数(X_检验,y_检验)

IIRC
。分数
是运行
的快捷方式。预测
然后计算准确度。因此,当我运行
lm时,您只需将它交给
X\u test
y\u test
@l3via即可。score(X\u test,y\u pred)
结果为1.0,这证实了您的解释IIRC
。score
是运行
的快捷方式。预测
,然后计算准确度。因此,当我运行
lm.score(X\u test,y\u pred)
时,您只需将其交给
X\u test
y\u test
@l3via即可。结果为1.0,这证实了您的解释