【发布时间】:2021-08-09 02:18:45
【问题描述】:
我一直在研究一些国际足联的数据,想看看运球和控球之间的关系。我在下面创建了一个线性回归,但是当我使用.score 方法获得 R2 时,我得到了 -1.9345 的输出。这显然是错误的,因为 R2 不能大于 1。有人可以用外行的话解释我哪里出错了。
另外,我注意到当我执行metrics.r2_score(x_test,y_test)) 时,我得到了正确的 R2。
x = fifa["Dribbling"].values.reshape(-1,1)
y = fifa["BallControl"].values.reshape(-1,1)
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size=0.3,random_state=42)
LinModel=LinearRegression()
LinModel.fit(x_train,y_train)
print(LinModel.intercept_)
print(LinModel.coef_)
y_estimates=LinModel.predict(x_test)
# Print R2 score
print(LinModel.score(x_test,y_test))
> -1.9345
【问题讨论】:
-
为什么用 R 标记? R 是一种统计编程语言,它不是 R2。
-
请不要使用不相关的标签。 (已移除)
标签: python machine-learning scikit-learn regression