机器学习与数据科学(基于R的统计学习方法)
监督学习:线性回归或逻辑回归,
非监督学习:是K-均值聚类, 即在数据点集中找出“聚类”。 另一种常用技术叫做主成分分析(PCA) , 用于降维,
算法的评估方法也不尽相同。 最常用的方法是将均方根误差(RMSE) 的值降到最小, 这一数值用于评价测试集的预测
结果是否准确。 RMSE评价法会在第7章进行更深入的解释。 另一种常用的评估方法是AUC, 即ROC曲线下的面积。
1.8 使用R包
有大量的通用包(当前大约是7000个) , 其中很多涉及有用的统计方法, 也有特定领域的包: 金融、 天文学、 分子生物学、 生态学等。
1. 你可以用下面给出的R脚本来找到当下可用的R包数目:
> dim(available.packages())
2. 一旦找到了满足你需求的R包, 你需要在本地配置中安装它。 例如, 这是安装lubridate包的命令:
> install.packages("lubridate")
3. 一个包只能安装一次。 安装完成后, 你需要做的是用library()把它加载到内存中。 library()函数用来加载基础R配置中未包括的函数库(函数和数据集的集合) 。
> library(lubridate)
4. 你应该去访问CRAN上该R包的页面来下载参考手册和任何可能有帮助的简介
5. 举个例子, 基础R包含有stats包, 里面有常用算法, 例
如: lm()用来拟合一个简单的线性回归模型, glm()用来拟合广义的线性模型; 如逻辑回归: hclust()用来做聚类分析, kmeans()用来做k均值聚类, prcomp()用来做基本的组成成分分析; 还有其他很多功能。
除此之外,
还有许多机器学习的附加包可以补充基础R包的功能。例如, class包中的knn()用来做k最近邻算法,
tree包中的tree()用于拟合分类树或是回归树, randomForest包中的randomForest()用来实现随机树算法,
e1071包中的svm()用来实现支持向量机, 还有很多其他功能。
6. 为了找到其他满足机器学习需求的R包, 你可以使用谷歌。 例如,你想寻找用来实现进化算法的包, 可以搜索“R中的进化算法”。 结果会告诉你参考DEoptim包, 这个包中含有你需要的机器学习算法。
1.9 数据集
1. 书中使用的大多数数据集都是R软件在安装时自带的
2. 你将在RStudio的Workspace标签页看到数据集的名称
data(package="plyr")
要查看某个数据集中的更多内容, 你可以使用在数据集名称前面加? 的命令
> ? airquality
你可以使用以下命令来将某个数据集加载到内存中:
> data(iris)
第2章连接数据
1. 很多机器学习和数据分析讨论的前提是你已经有干净的数据, 可以直接把它们应用在探索性数据分析工具中, 然后选择一个合适的机器学习模型。 遗憾的是, 这种情况很少发生, 更多的时候, 你需要定位数据, 确定它使用了哪种格式, 找到一个有连接数据功能的R包, 最后, 连接数据并把它读入R数据框(data frame)
2. 数据是属于同一群体的定性或定量的变量的值; 是你感兴趣的一组对象的集合, 其中的一个变量是对一项的特征的度量。
2.1 管理你的工作目录
1. 工作目录用于储存各种组成你项目的文件,包括数据文件、 R脚本、 图表文件、 RDATA文件, 也包含你分析得出的文件(Word、 PowerPoint等格式)。 有些人使用工作目录下的“data”子文件夹来存储这些数据文件。
2. R有两条命令来管理工作目录: getwd()用于检索目前的工作目录, setwd()用于创建新的工作目录。 在打开RStudio时, 你可以在R控制台中用setwd()函数来创建工作目录,
3. 相对路径 绝对路径
4. 管理工作目录的另一个方法是使用RStudio的功能: Session -> Set Working Directory -> Choose Directory来指向你需要的目录。
1.
2.2 数据文件的种类
2.3 数据的来源
访问San Francisco Data网站(data.sfgov.org) , 上
面包含了大量的市政数据集。 要用到的Parking Meter数据集, 包含了多方面的仪表特征。 目标是直接从网站上下载CSV文件格式的数据集。为此, 我们将使用download.file()指令。
2.5 读取CSV文件
CSV文件的格式很简单:文件中的每一行代表了一个观测值, 每一列代表一个变量(潜在的特征变量)。
2.6 读取Excel文件
2007电子表格文件中读取数据的工具:
read.xlsx()和read.xlsx2()函数。 read.xlsx2()函数通常能更快地处理大型电
子表格。
注:
还需要使用library()函数来加载xlsx包, 否则使用中会找不到
2.7 使用文件连接
从文本文件中按行读取数据是有意义的。为此, R有一个有用的函数readLines(), 可以和文件连接一同使用。
资源链接
标签
发布日期
2019-02-24
擦亮日期
2019-02-24