2013年01月09日 星期三 01:17
已知 x = np.array([...])
y = np.array([...])
z = np.array([...])
如何利用 方程 z=cy+ax+b 线性回归出 参数: a, b,c 和 相关系数R^2 .
感谢!
2013年01月09日 星期三 14:35
import numpy as np from sklearn import linear_model clf = linear_model.LinearRegression() N = 10 x = np.random.rand(N) y = np.random.rand(N) z = 0.2*x - 0.5*y + 1.2 + np.random.rand(N)*0.02 clf.fit(np.c_[x, y], z) print clf.coef_, clf.intercept_
2013年01月11日 星期五 21:17
为什么这个 linear_model.LinearRegression() 回归的结果不稳定?
我稍微改了下:
import numpy as np
from sklearn import linear_model
clf = linear_model.LinearRegression()
N = 10
x = np.arange(N)
y = np.arange(N)
z = 0.2*x + 0.5*y + 1.2
clf.fit(np.c_[x, y], z)
print clf.coef_, clf.intercept_
当N = 10 , 50, 100,200, ... 时;结果分别依次如下:
[ 0.35 0.35] 1.2
[ 0.06256389 0.63743611] 1.2
[ 0.19425507 0.50574493] 1.2
[-0.04398223 0.74398223] 1.2
另外如何输出 相关系数R^2 ?
2013年01月12日 星期六 07:22
你的x和y是一样的,这样的话只要两个系数加起来是0.7就都是正确的。
2013年01月13日 星期日 20:13
明白了,多谢斑竹!
Zeuux © 2024
京ICP备05028076号