最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

使用R进行机器学习(二)

[复制链接]
跳转到指定楼层
楼主
发表于 2016-1-30 10:03:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
作者: Jason Brownlee
R有很多包,哪个最适合用于你的机器学习项目?
在这篇文章中你将会找到为机器学习旅程中每个子任务推荐的R函数和包。这很有用,保存这篇文章,我保证你会再次查看它。如果你是R用户并且知道更好的方法,在评论中分享吧。
R有超过6000个第三方包。大量可用软件包是R平台的好处之一,但也是个挫败之处。
你应该用哪个包?
有一些特定的任务是需要作为机器学习项目的一部分执行的,例如加载数据、评估算法和改善准确性。每个任务都可以使用多种方法,并且可能有多个包都提供了这些方法。
考虑到有这么多不同方法完成同一个子任务,你需要从这些函数和包中找到最符合需求的。
把包映射到项目任务
解决这个问题的方法是创建一个机器学习项目工作中可能遇到的所有子任务到可以使用的最佳包和函数的映射。由于R是一种统计语言,它提供了许多用于数据分析及预测模型的工具,可以用来训练并生成预测。
使用最喜欢的搜索引擎,你可以找到完成每个任务的所有包与其中的函数。这样详尽无遗,你也可以在不同候选解决方案处结束。
你需要把每个选项列表削减为完成某个任务最好的一个。可以实验每一个,看看它们如何工作;也可以仔细检查搜索结果,梳理出在其他人中最流行的函数。
下面是一个从R包和函数到机器学习项目任务的映射,有了它,你今天就可以开始使用R进行机器学习。
在机器学习项目中使用R
这一节列出了通用机器学习项目中很多主要的子任务。每个人物列出了R中可以完成任务的特定函数和父包。
选中函数的一些特性如下:
>> 最低限度:该列表是最低限度的,只有项目中的机器学习任务和可以使用的函数名与包名。实际使用列出的每个函数都需要更多的功课。
>> 简单:函数出于简单性被选择,传递任务的直接结果。单个函数优于多个函数调用。
>> 偏好:函数选择基于我的偏好和最佳估计,其他人可能有不同的选项。
任务被分成三个宽泛的组:
1. 为建模进行的数据准备任务
2. 为比较和评估预测模型算法的评估算法任务
3. 为得到更多更好执行的算法的改进结果任务
1数据准备任务
数据加载
从文件中加载一个数据集。
>> CSV:read.csv函数,来自utils包
数据加载
清洗一个数据集以确保数据的合理和一致性,为分析和建模做准备。
>> 填充:impute,来自Hmisc包
>> 离群值:来自outliers包的各种函数
>> 重新平衡:SMOTE函数,来自DMwR包
数据汇总
使用描述性统计汇总一个数据集。
>> 汇总分布:summary,来自base包
>> 汇总相关系数:cor函数,来自stats包
数据可视化
可视化汇总一个数据集。
>> 散点图矩阵:pairs函数,来自graphics包
>> 直方图:hist函数,来自graphics包
>> 密度图:densityplot函数,来自lattice包
>> 箱线图:boxplot函数,来自graphics包
荣誉提名:
>> ggpairs函数,来自GGally包,可以在一个图中完成所有的一切。
>> ggplot2和lattice包,在绘图方面通常非常棒。
特征选择
选择数据集里与构建预测模型最相关的那些特征。
>> RFE:rfe函数,来自caret包
>> 相关:findCorrelation函数,来自caret包
caret包提供了一整套特征选择方法,参见评估算法任务。
荣誉提名:
>> FSelector包
数据转换
创建数据集转换以得到最适合学习算法问题的结构。
>> 规范化:自定义函数
>> 标准化:scale函数,来自base包
caret包提供了数据转换的预处理,参见下一节。
2评估算法任务
caret包中的函数被用于评估模型。
caret包支持多种模型表现度量和测试设置,例如数据切分和交叉验证。预处理也可以作为测试工具的一部分被使用。
模型评估
>> 模型评估:train函数,来自caret包
>> 测试设置:trainControl函数,来自caret包
>> 预处理:preProcess函数,来自caret包
注意许多现代预测模型(例如高级决策树的某些种类)提供了一些形式的内建特征选择、参数调整和集成。
预测建模
caret包提供了所有最好的预测建模算法。
3改进结果任务
为了得到最好表现模型从而做出更准确预测的方法。
算法调整
caret包提供了作为测试工具的算法调整,并包含类似随机、网格化和自适应搜索的方法。
模型集成
许多现代预测模型算法提供内建集成。caret包也提供了一套bagging和boosting函数。
>> Blend:caretEnsemble,来自caretEnsemble包
>> Stacking:caretStack,来自caretEnsemble包
>> Bagging:bagging函数,来自ipred包
总结
在本篇文章中,你发现用R做机器学习的最佳方式是映射具体的R函数和包到机器学习计划的任务。
你找到了用于大多数机器学习项目共同任务的特定包与函数。
下一步行动
开始用R进行机器学习。在你的当前或下一个项目中使用前述建议。
via:数艺智训

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-26 08:36

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表