统计学习导论:基于R应用——第二章习题
目前在看统计学习导论:基于R应用,觉得这本书非常适合入门,打算把课后习题全部做一遍,记录在此博客中。
第二章习题
1.
(a) 当样本量n非常大,预测变量数p很小时,这样容易欠拟合,所以一个光滑度更高的学习模型更好。
(b) 当样本量n非常小,预测变量数p很大时,这样容易过拟合,所以一个光滑度更小的学习模型更好。
(c) 当预测变量与响应变量之间的关系是非线性时,说明光滑度小的模型会容易欠拟合,所以光滑度高的模型更适合。
(d) 在这里,方差是指用一个不同的训练数据集估计f时,估计函数的改变量。一般来说,光滑度越高的统计模型有更高的方差,所以这里选择一个光滑度小的模型。
2.
这个题目首先给人的感觉是开放性的,看你通过下面信息能够推断或者预测什么结果。
在这里,预测是指输入X得到Y,而推断是指理解Y作为X1,X2...Xp的函数是怎么变化。回归和分类的定义就不多说了。
(a)给人的直观感觉是回归问题。预测问题在这里似乎没有什么意义,反而是可以考虑推断。比如,可以推断员工人数,产业类型以及CEO工资来和利润的关系。
(b)这里明显是有成功和失败两种状态,所以是分类问题,而且是预测新产品。
(c)这里也是回归和预测问题。比较直白。
3.
(a) 图书里有,关键是理解偏差和方差的区别吧。
(b) 把图画出来了就差不多理解啦。
4.
又是找例子题,醉了~
5.
这个题的知识点和第一题类似。
(a)一个光滑度高的回归模型或者分类模型,能够更好的拟合非线性模型,偏差更小。但是模型越光滑,所需要计算的参数就越多,而且容易过拟合,方差更大。当我们更想预测,而不是推断的时候,我们优先考虑光滑度高的模型。
(b)一个光滑度低的回归模型或者分类模型,上述相反~
6.
中文版15,16也原话。
(a)参数方法是一种基于模型估计的两阶段方法。优点是,它把估计f的问题简化到估计一组参数,对f假设一个具体的参数形式将简化对f的估计,因为估计参数是更为容易的,不需要拟合任意一个函数f。缺点是,选定的模型并非与实际的f形式上一致,而且还有过拟合的可能情况。
(b)非参数方法不需要对函数f的形式实现做明确说明的假设。相反,这类方法追求的接近数据点的估计,估计函数在去粗和光滑处理后尽量可能与更多的数据点接近。优点是,不限定函数f的具体形式,可以更大的范围选择更适宜的f形状的估计。缺点是,无法将估计f的问题简单到对少数参数进行估计的问题,所以往往需要大量的观察点。
7.
(a)欧几里德距离:|x| = sqrt( x[1]^2 + x[2]^2 + … + x[n]^2 )
所以计算结果是:1.3、2.2、3.sqrt(10)、4.sqrt(5)、5.sqrt(2)、6.sqrt(3)
(b) Green。最近的点obs.5是绿色。
(c) Red.
(d) 小。书29页的图可以知道,1/K越大,光滑度越高,也就越非线性。所以K应该小。
8.
题目略简单。提示很多。
(a)
college = read.csv("College.csv")
(b)
fix(college)
rownames(college) = college[,1]
college = college[,-1]
fix(college)
(c)
i.summary(college)
ii.pairs(college[,1:10])
iii.plot(college$Private, college$Outstate)
iv.
Elite = rep("No", nrow(college))
Elite[college$Top10perc>50] = "Yes"
Elite = as.factor(Elite)
college = data.frame(college, Elite)
summary(college$Elite)
plot(college$Elite, college$Outstate)
v.
par(mfrow=c(2,2))
hist(college$Apps)
hist(college$perc.alumni, col=2)
hist(college$S.F.Ratio, col=3, breaks=10)
hist(college$Expend, breaks=100)
vi.自由发挥
9.
这个题中文版的(d)翻译错了,我们按照原书来
Auto = read.table("Auto.data.txt", header = T ,na.strings="?")
Auto = na.omit(Auto)
dim(Auto)
summary(Auto)
(a)
quantitative: mpg, cylinders, displacement, horsepower, weight, acceleration, year
qualitative: name, origin
(b)
sapply(Auto[, 1:7], range)
(c)
sapply(Auto[, 1:7], mean)
sapply(Auto[, 1:7], sd)
(d)
newAuto = Auto[-(10:85),]
sapply(newAuto[, 1:7], range)
sapply(newAuto[, 1:7], mean)
sapply(newAuto[, 1:7], sd)
(e)
自己感兴趣哪个就plot哪个吧
(f)
pairs(Auto)
看结果感觉horsepower和weight可以作为变量来做预测
10.
(a)
library(MASS)
?Boston
dim(Boston)
(b)
pairs(Boston)
(c)
从pairs(Boston)的结果来看,感觉crim和age, dis, rad, tax, ptratio有较大的相关性
plot(Boston$age, Boston$crim)
plot(Boston$dis, Boston$crim)
plot(Boston$rad, Boston$crim)
plot(Boston$tax, Boston$crim)
plot(Boston$ptratio, Boston$crim)
(d)
par(mfrow=c(1,3))
hist(Boston$crim[Boston$crim>1], breaks=25)
hist(Boston$tax, breaks=25)
hist(Boston$ptratio, breaks=25)
(e)
dim(subset(Boston, chas == 1))
(f)
median(Boston$ptratio)
(g)
t(subset(Boston, medv == min(Boston$medv)))
summary(Boston)
(h)
dim(subset(Boston, rm > 7))
dim(subset(Boston, rm > 8))
summary(subset(Boston, rm > 8))
summary(Boston)
统计学习导论:基于R应用——第二章习题的更多相关文章
- Python编程快速上手-让繁琐工作自动化-第二章习题及其答案
Python编程快速上手-让繁琐工作自动化-第二章习题及其答案 1.布尔数据类型的两个值是什么?如何拼写? 答:True和False,使用大写的T和大写的F,其他字母是小写. 2.3个布尔操作符是什么 ...
- 最小正子序列(序列之和最小,同时满足和值要最小)(数据结构与算法分析——C语言描述第二章习题2.12第二问)
#include "stdio.h" #include "stdlib.h" #define random(x) (rand()%x) void creat_a ...
- 统计学习导论:基于R应用——第五章习题
第五章习题 1. 我们主要用到下面三个公式: 根据上述公式,我们将式子化简为 对求导即可得到得到公式5-6. 2. (a) 1 - 1/n (b) 自助法是有有放回的,所以第二个的概率还是1 - 1/ ...
- 统计学习导论:基于R应用——第四章习题
第四章习题,部分题目未给出答案 1. 这个题比较简单,有高中生推导水平的应该不难. 2~3证明题,略 4. (a) 这个问题问我略困惑,答案怎么直接写出来了,难道不是10%么 (b) 这个答案是(0. ...
- 统计学习导论:基于R应用——第三章习题
第三章习题 部分证明题未给出答案 1. 表3.4中,零假设是指三种形式的广告对TV的销量没什么影响.而电视广告和收音机广告的P值小说明,原假设是错的,也就是电视广告和收音机广告均对TV的销量有影响:报 ...
- 嵌入式学习笔记(综合提高篇 第二章) -- FreeRTOS的移植和应用
1.1 资料准备和分析 上章节通过实现双机通讯,了解如何设计和实现自定义协议,不过对于嵌入式系统来说,当然不仅仅包含协议,还有其它很多需要深入学习了解的知识,下面将列出我在工作和学习上遇到的嵌入 ...
- 【php学习】PHP 入门经典第二章笔记
问题答疑: 1.默认情况下,Apache服务器的配置文件名.MySQL服务器的配置文件名以及PHP预处理器配置文件名分别是什么?Apache默认主配置文件:根目录下config文件夹下httpd.co ...
- 【java并发编程艺术学习】(五)第二章 java并发机制的底层实现原理 学习记录(三) 原子操作的实现原理学习
章节介绍 主要包括 术语定义.处理器如何实现原子操作.Java如何实现原子操作: 原子(atomic)本意是 不能再进一步分割的最小粒子,“原子操作” 意为 不可被中断的一个或一系列操作. 术语定义 ...
- 《零成本实现Web自动化测试--基于Selenium》第二章 Selenium简介和基础
第一部分 Selenium简介 1.Selenium 组建 1.1 Selenium-IDE Selenium-IDC是开发Selenium测试案例的集成开发环境.它像FireFox插件一样的工作,支 ...
随机推荐
- [LeetCode OJ] Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...
- PHP下编码转换函数mb_convert_encoding与iconv的使用说明
mb_convert_encoding这个函数是用来转换编码的. 不过英文一般不会存在编码问题,只有中文数据才会有这个问题.比如你用Zend Studio或Editplus写程序时,用的是gbk编码, ...
- php基础知识【函数】(3)字符串string
一.大小写转换 1.strtolower()--转换为小写. echo strtolower("Hello WORLD!"); //hello world! 2.strtouppe ...
- nginx——location 优先级
一. location 的匹配符1.等于匹配符:=等于匹配符就是等号,特点可以概括为两点:精确匹配不支持正则表达式2.空匹配符空匹配符的特点是:匹配以指定模式开始的 URI不支持正则表达式3.正则匹配 ...
- JS设置Cookie,及COOKIE的限制
在Javascript脚本里,一个cookie 实际就是一个字符串属性.当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称和值.每个cookie除了 name ...
- [r]Seven habits of effective text editing
Seven habits of effective text editing(via) Bram Moolenaar November 2000 If you spend a lot of time ...
- iOS - Blocks
iOS中Blocks的介绍 1. 什么是Blocks Blocks是C语言的扩充功能.就是:带有自动变量的匿名函数. 类似C语言的函数指针.但Blocks不是一个指针,而是一个不带名字的函数, ...
- ExtJS 4 表单
Form Panel表单面板就是普通面板Panel增加了表单处理能力.表单面板可以用在任何需要收集用户提交数据的地方.表单面板可以使用Container Layout提供的最简单的拜访表单控件的方式. ...
- linux在shell中获取时间
linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...
- 如何把iOS代码编译为Android应用
新闻 <iPhone 6/6 Plus中国销量曝光:单月销量650万>:据iSuppli Corp.中国研究总监王阳爆料,iPhone 6和iPhone 6 Plus在国内受欢迎的情况大大 ...