ISLR读书笔记(1)统计学习简介

欢迎访问个人主页,目前访问量太低,百度搜不到的说。。。谢谢鼓励

读书笔记,并不打算翻译全文,打算将书中重要的知识点结合自己的理解将其分享,并在最后附上R语言相关函数应用,作为自己最近一段时间在机器学习方面学习总结。如果理解不正确,望指正。

前言

ISLR,全称为An Introduction to Statistical Learning with Applications in R,算是the Elements of Statistical Learning的基础版,里面公式推导并不多,主要是讲解统计学习中的一些常用方法,以及相关方法在R语言上的应用。ISLR官方并没用出习题的答案,不过已经有人做了一份,可以学习参考ISLR答案

第二章理解

第二章主要是简单的介绍了书的背景,主要强调在统计学习中并没有免费的午餐,没有一种方法适用于所有的问题,所以才要学习各种统计学习方法,目的针对实际问题找到适合的统计学习方法。

准确性与解释性

在统计学习中,我们的目的有的时候是为了观察某一变量的影响,这时候我们更需要方法的解释性,例如:利用线性模型,虽然一般不能准确目标数值,但很容易得知是正相关还是负相关。而预测股票变化趋势等问题,我们并不想知道市场各种因素对于股市是如何影响的,我们就像知道是涨还是跌,这时候更需要方法的准确性。

R_2_1

这是书中的一张图,通常来讲,随着方法自由度的增加,可解释性逐渐降低。

方差与偏差

E(y0f̂ (x0))2=Var(f̂ (x0))+[Bias(f̂ (x0))]2+Var(ϵ)

这个公式是这一章节最重要的公式了。公式求出了测试集的均方误差(MSE),MSE也是评判方法好坏的标准之一,MSE越小,方法越准确。
公式中第一项是预测的方差,表示了如果我们更换一个训练集,预测函数f(x)的变化程度,一般来说,自由度越高的方法具有越大的方差;第二项是预测的偏差,一般来讲,自由度越高的方法具有越小的偏差;最后一项是不可消除偏差。

R_2_2

红色的曲线代表了MSE,橘黄色曲线代表方差,蓝色的曲线代表偏差,水平虚线代表了不可消除偏差,竖直虚线代表了模型实际的自由度。
上面是回归问题的总结,分类问题与他相似,就不重复整理了。

R语言应用

我的版本为ubuntu15.10+ R version 3.3.0 + RStudio
首先设置工作路径

> getwd()  #查询工作路径
[1] "/home/bit_hammer"
> setwd("/home/bit_hammer/Desktop/ISLR") #设置工作路径

读取数据,这个数据在网站上可以下载

> Auto = read.table("Auto.data", header=T, na.string="?")

header = T 表示读入表头
na.string="?" 表示空数据用?表示

> fix(Auto) #显示Auto
> dim(Auto) #Auto维度
[1] 397   9
> Auto[1:4,] #显示Auto前四行,注意R语言遍历从1开始
  mpg cylinders displacement horsepower weight acceleration year origin                      name
1  18         8          307        130   3504         12.0   70      1 chevrolet chevelle malibu
2  15         8          350        165   3693         11.5   70      1         buick skylark 320
3  18         8          318        150   3436         11.0   70      1        plymouth satellite
4  16         8          304        150   3433         12.0   70      1             amc rebel sst
> Auto = na.omit(Auto) # 忽略空数据所在行
> dim(Auto)
[1] 392   9

plot()函数可以绘制散点图和箱线图
identify()函数可以标记散点图中的点信息
plot(displacement, mpg, col = "green", xlab = "displacement", ylab = "mpg")

hist()函数可以绘制直方图
hist(mpg, col =2, breaks = 15)

pairs()函数可以绘制散点图矩阵
pairs(~ mpg + displacement + horsepower + weight + acceleration)

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值