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

前言

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

第二章理解

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

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

方差与偏差

 

E(y0-f^(x0))2=Var(f^(x0))+[Bias(f^(x0))]2+Var(ϵ)

 

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

红色的曲线代表了MSE,橘黄色曲线代表方差,蓝色的曲线代表偏差,水平虚线代表了不可消除偏差,竖直虚线代表了模型实际的自由度。

R语言应用

首先设置工作路径

> 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)

原创链接:https://blog.csdn.net/u011635764/article/details/51694236

 

posted @ 2019-03-28 09:42  楊一一吖  阅读(480)  评论(0编辑  收藏  举报