gpt4 book ai didi

python - python中2个列表的线性回归

转载 作者:行者123 更新时间:2023-11-28 22:11:26 25 4
gpt4 key购买 nike

您好,我有 2 个数字列表,我想从常规线性回归中获取 R^2。我认为这个问题已经发布了很多,但我就是找不到这个地方。

我的 list :

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)

有没有人有快速的方法通过在这 2 个变量之间进行线性回归来获得 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)

你得到:

0.9302407516147975

来自 scipy 版本 '1.4.1'(感谢@FlamePrinz 注意到新版本 scipy 的问题):

from scipy import stats

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

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

print(r_value**2)

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com