进军机器学习--序言

我们之所以建模, 主要的价值在于预测. 学习统计时, 看到各种模型,
线性回归,多元线性回归, 曲线回归等等, 都是为了建模.

但是模型是否好呢? 我们可以查看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 [ ]:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值