R语言与机器学习-学习笔记1(前言)
2015-07-27 10:10
246 查看
1.R语言与机器学习是第一个拿来与大家分享的关于机器学习的资料。原因就是在参加完阿里大数据竞赛后,发现R语言在机器学习研究方面的确有很多方便之处。闲话不多说,写笔记之前我就述说两点内容。
第一:写这一系列博客是为了与大家交流一下我自己学习R语言以及机器学习的收获及一些自己的观点。大家有什么不同的观点以及发现之中有什么错误,欢迎交流以及批评指正。互相学习也是我写博客的初衷。
第二:引用书中的一句话,这本书的面相对象是想要初步学习机器学习和R语言的同学。所以更多机器学习算法还需要自己多多专研。
2.机器学习的步骤
(1)收集数据
无论你要处理的数据是文本形式、图像形式或者音频形式,无论你的数据是存储在文本中还是数据库中,你都需要将这些数据整理成统一的适合数据分析的格式。这些数据将会被算法调用,并最终学习出比较好的预期效果。(2)数据准备与探索
机器学习项目的质量很大程度上取决于它所使用的数据的质量。在机器学习过程中,这一步往往需要大量的人为干预。据统计数据表明,机器学习80%的努力是花费在这一阶段。如何在庞大杂乱的数据中探索数据的特征及规律,是机器学习成功的关键。(3)训练模型
当数据都准备好的时候,我们接下来就是要找到合适的机器学习模型。利用单个模型或多个模型去训练数据,学习数据特征及规律。R语言提供了大量的机器学习库供调用分析。(4)模型效果检验
机器学习模型训练后的效果需要检验这一重要的步骤,如何评价一个模型在某一个数据集的效果,需要我们有一套效果的评价机制。所以在监督学习中,通常会把数据集划分为训练集和测试集。训练集用来训练模型,测试集用来检验模型效果的好坏。当然,不同问题场景下检验的方法有很大区别,常用的效果检验规则有绝对平均误差、AUC曲线、准确率及召回率等等来检验。后面我们会学习到不同的检验方法。(5)模型效果的提升
如果前面的模型没有达到自己想要的结果,这个时候就需要考虑两方面的内容:第一是更换模型,不同的模型可能会有意想不到的结果。第二就是在原有模型上的改进,这往往是很难的步骤,因为这需要自己对模型和数据同时有更深入的了解。3.机器学习模型类型简介
机器学习算法大致分为两类。一类是监督学习,一类是无监督学习。监督学习是指从标记的训练数据来推断一个功能的机器学习任务。训练数据包括一套训练示例。在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称为监督信号)组成。监督学习算法是分析该训练数据,并产生一个推断的功能,其可以用于映射出新的实例。一个最佳的方案将允许该算法来正确地决定那些看不见的实例的类标签。这就要求学习算法是在一种“合理”的方式从一种从训练数据到看不见的情况下形成。
无监督学习一般有两种思路。第一种思路是在指导Agent时不为其指定明确的分类,而是在成功时采用某种形式的激励制度。一种次要的非监督学习类型称之为聚合(clustering)。这类学习类型的目标不是让效用函数最大化,而是找到训练数据中的近似点。聚合常常能发现那些与假设匹配的相当好的直观分类。例如,基于人口统计的聚合个体可能会在一个群体中形成一个富有的聚合,以及其他的贫穷的聚合。
4.R语言机器学习
R是一种开源的软件,其中包含大量用于机器学习的库,几乎能够覆盖当今流行的机器学习算法。R的获取地址为:
http://cran.r-project.org/index.html.
当我们想要引用引用一些机器学习包(RandomForest)的时候,我们可以输入以下指令便可以获取安装。
install.packages("RandomForest")
然后我们引用,就可以用到这个包里算法模型
library(RandomForest)
如果对包里算法想要更详细的了解可以使用帮助符号?
?RandomForest
相关文章推荐
- 我是运营,我没有假期
- c++ primer 第五版 笔记前言
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- 那些年,我还在学习C# 学习笔记续
- Ruby 魔法 学习笔记之一
- 修复mysql数据库
- SQLServer 数据导入导出的几种方法小结
- sqlserver 数据库学习笔记
- MySQL数据备份之mysqldump的使用详解
- C#实现窗体间传递数据实例
- CSS学习笔记Padding 属性中参数的定义与使用
- prototype 1.5 & scriptaculous 1.6.1 学习笔记
- prototype 学习笔记整理
- Oracle学习笔记(六)
- 给你的数据库文件减肥
- Oracle数据更改后出错的解决方法
- 关于SQLServer2005的学习笔记 XML的处理
- Jquery 基础学习笔记