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

2024-06-14 00:08

本文主要是介绍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)

这篇关于ISLR读书笔记(1)统计学习简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058819

相关文章

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen