嗨,我有两个数字列表,我想从一个正规的线性回归得到R^2。我想这个问题已经被贴了很多,但我只是找不到这个地方。
我的列表:

my_y = [2,5,6,10]
my_x = [19,23,22,30]

我试图将其更改为numpy数组,然后使用sklearn进行回归并获得所需的内容,但我没有成功。我使用了以下代码:
from sklearn.linear_model import LinearRegression
import numpy as np

my_y = np.array([2,5,6,10]).reshape(1, -1)
my_x = np.array([19,23,22,30]).reshape(1,-1)

lm = LinearRegression()
result = lm.score(my_x, my_y)
print(result)

有没有人能快速地从这两个变量之间的线性回归得到R^2?
此回归的预期输出为:R^2=0.930241

最佳答案

尝试:

import scipy

slope, intercept, r_value, p_value, std_err = scipy.stats.linregress(my_x, my_y)

print(r_value**2)

你会得到:
0.9302407516147975

关于python - python中2个列表的线性回归,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55713811/

10-09 20:33
查看更多