gpt4 book ai didi

python - SKlearn 线性回归系数等于 0

转载 作者:行者123 更新时间:2023-11-30 22:19:06 30 4
gpt4 key购买 nike

最简单的线性回归示例存在问题。在输出处,系数为零,我做错了什么?感谢您的帮助。

import sklearn.linear_model as lm
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

x = [25,50,75,100]
y = [10.5,17,23.25,29]
pred = [27,41,22,33]
df = pd.DataFrame({'x':x, 'y':y, 'pred':pred})
x = df['x'].values.reshape(1,-1)
y = df['y'].values.reshape(1,-1)
pred = df['pred'].values.reshape(1,-1)
plt.scatter(x,y,color='black')
clf = lm.LinearRegression(fit_intercept =True)
clf.fit(x,y)


m=clf.coef_[0]
b=clf.intercept_
print("slope=",m, "intercept=",b)

输出:

slope= [ 0.  0.  0.  0.] intercept= [ 10.5   17.    23.25  29.  ]

最佳答案

想一想。鉴于您返回了多个系数,表明您有多个因素。由于它是单一回归,因此问题在于输入数据的形状。你最初的 reshape 让全类同学认为你有 4 个变量,每个变量只有一个观察结果。

尝试这样的事情:

import sklearn.linear_model as lm
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

x = np.array([25,99,75,100, 3, 4, 6, 80])[..., np.newaxis]
y = np.array([10.5,17,23.25,29, 1, 2, 33, 4])[..., np.newaxis]

clf = lm.LinearRegression()
clf.fit(x,y)
clf.coef_

输出:

array([[ 0.09399429]])

关于python - SKlearn 线性回归系数等于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49209949/

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