Adr*_*ian 1 python numpy list linear-regression python-3.x
嗨,我有 2 个数字列表,我想从常规线性回归中获得 R^2。我认为这个问题已经发布了很多,但我在某处找不到这个问题。
我的清单:
my_y = [2,5,6,10]
my_x = [19,23,22,30]
Run Code Online (Sandbox Code Playgroud)
我试图将其更改为 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)
Run Code Online (Sandbox Code Playgroud)
有没有人有一种快速的方法可以通过在这两个变量之间进行线性回归来获得 R^2?
我从这个回归中得到的预期输出是:R^2=0.930241
尝试:
import scipy
my_y = [2,5,6,10]
my_x = [19,23,22,30]
slope, intercept, r_value, p_value, std_err = scipy.stats.linregress(my_x, my_y)
print(r_value**2)
Run Code Online (Sandbox Code Playgroud)
你会得到:
0.9302407516147975
Run Code Online (Sandbox Code Playgroud)
从 scipy 版本'1.4.1'(感谢@FlamePrinz 注意到新版本 scipy 的问题):
0.9302407516147975
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4822 次 |
| 最近记录: |