當我學習Python SKlearn時,遇到的第一個示例是Generalized Linear Models。R lm與Python sklearn linear_model
其第一實施例的代碼:
from sklearn import linear_model
reg = linear_model.LinearRegression()
reg.fit([[0, 0], [1, 1], [2,2]], [0, 1,2])
reg.fit
reg.coef_
array([ 0.5, 0.5])
在這裏,我假定[[0, 0], [1, 1], [2,2]]
表示含有x1 = c(0,1,2)
和x2 = c(0,1,2)
和y = c(0,1,2)
以及一個data.frame。
立刻,我開始認爲array([ 0.5, 0.5])
是x1
和x2
的係數。
但是,這些估計是否存在標準誤差?如何測試p值,R2和其他數字?
然後我嘗試做同樣的事情在R.
X = data.frame(x1 = c(0,1,2),x2 = c(0,1,2),y = c(0,1,2))
lm(data=X, y~x1+x2)
Call:
lm(formula = y ~ x1 + x2, data = X)
#Coefficients:
#(Intercept) x1 x2
# 1.282e-16 1.000e+00 NA
顯然x1
和x2
是完全線性相關,因此OLS將失敗。爲什麼SKlearn仍能正常工作並給出結果?我是否以一種錯誤的方式變得滑稽?謝謝。
也許http://stats.stackexchange.com /問題/ 116825 /異輸出換-R-LM-和蟒-statsmodel醇類換線性迴歸 – hrbrmstr