【发布时间】:2016-06-07 13:54:56
【问题描述】:
我正在计算这样的系数:
def estimate_multivariate(data, target):
x = np.array(data)
y = np.array(target)
inv = np.linalg.inv(np.dot(x.T,x))
beta = np.dot(np.dot(inv, x.T), y)
return beta
并得到这些结果:
[[ 103.56793536] [ 63.93186848][-272.06215991][ 500.43324361] [ 327.45075839]]
但是,如果我使用 sklearn.linear_model 创建模型,我会得到以下结果:
[ 118.45775015 64.56441108 -256.20123986 500.43324362 327.45075841]
只有在我使用时才会发生这种情况
preprocessing.PolynomialFeatures(degree=2)
poly.fit_transform(x)
度数大于 1。当我使用原始数据时,两种方法的系数是相同的。什么可以解释这一点?某处有截断吗?
【问题讨论】:
标签: python scikit-learn regression linear-regression feature-selection