進軍機器學習--序言
阿新 • • 發佈:2018-11-10
我們之所以建模, 主要的價值在於預測. 學習統計時, 看到各種模型,
線性迴歸,多元線性迴歸, 曲線迴歸等等, 都是為了建模.
但是模型是否好呢? 我們可以檢視R方, 調和R方.
機器學習的到來, 為統計打開了另一扇大門. 交叉驗證, 檢視預測準確度.
如果說現代統計學是一門循序漸進, 系統完善的科學, 機器學習則是各種流派,
黑貓白貓抓到老鼠就是好貓. 英雄不問出處.
機器學習的到來, 讓結果說話, 而不是所謂的邏輯或者假定. 存在的就是合理的,
路徑可能沒有發現, 終究會發現. 有可能是另一個語言系統中了.
模擬一套資料¶
In [4]:
f = function(x) 3 + 2*x x = rnorm(100) y = f(x) + 0.5*rnorm(100) dat =data.frame(x=x,y=y) head(dat)
x y
0.7656238 4.5241703
-1.2045951 0.1475003
1.8686146 6.6297829
0.7531363 4.9709326
-0.6847217 1.7381070
-0.7545989 1.4639742
使用資料還原x和y的關係¶
In [5]:
mod = lm(y~x) summary(mod) Call: lm(formula = y ~ x) Residuals: Min 1Q Median 3Q Max -0.89810 -0.33549 0.01217 0.30443 1.03068 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.99220 0.04318 69.29 <2e-16 *** x 1.90101 0.04506 42.19 <2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.4266 on 98 degrees of freedom Multiple R-squared: 0.9478, Adjusted R-squared: 0.9473 F-statistic: 1780 on 1 and 98 DF, p-value: < 2.2e-16
模型引數
In [6]:
coef(mod)
- (Intercept)
-
2.99220004612752
x - 1.9010058887296
公式: $$ y = 2.99 + 1.90*x $$
可以看出來, 通過資料還原x和y的關係, 和真是的x和y的關係比較接近.
作圖: 資料和模型的關係¶ {#作圖:-資料和模型的關係}
In [7]:
plot(x,y,main="this is a plot")
abline(coef(mod),col="blue")
使用構建好的模型預測¶
預測x=-1和0.5時y的值
In [8]:
predict(mod,list(x=c(-1,0.5)),se.fit = TRUE)
- $fit
-
- 1
-
1.09119415739792
2 - 3.94270299049232
- $se.fit
-
- 1
-
0.0670845693041622
2 - 0.0454934964906985
- $df
-
98
$residual.scale - 0.426558713436954
In [ ]: