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