ML—机器学习常用包(持续更新….)
机器学习是计算机科学和统计学的边缘交叉领域,R关于机器学习的包主要包括以下几个方面:
1)神经网络(Neural Networks):
nnet、AMORE以及neuralnet,nnet提供了最常见的前馈反向传播神经网络算法。AMORE包则更进一步提供了更为丰富的控制参数,并可以增加多个隐藏层。neuralnet包的改进在于提供了弹性反向传播算法和更多的激活函数形式。但以上各包均围绕着BP网络,并未涉及到神经网络中的其它拓扑结构和网络模型。而新出炉的RSNNS包则在这方面有了极大的扩充
2)递归拆分(Recursive Partitioning):
递归拆分利用树形结构模型,来做回归、分类和生存分析,主要在rpart包(http://cran.r-project.org/web/packages/rpart/index.html)和tree包(http://cran.r-project.org/web/packages/tree/index.html)里执行,尤其推荐rpart包。Weka里也有这样的递归拆分法,如:J4.8, C4.5, M5,包Rweka提供了R与Weka的函数的接口(http://cran.r-project.org/web/packages/RWeka/index.html)。
party包提供两类递归拆分算法,能做到无偏的变量选择和停止标准:函数ctree()用非参条件推断法检测自变量和因变量的关系;而函数mob()能用来建立参数模型(http://cran.r-project.org/web/packages/party/index.html)。另外,party包里也提供二分支树和节点分布的可视化展示。
mvpart包是rpart的改进包,处理多元因变量的问题(http://cran.r-project.org/web/packages/mvpart/index.html)。rpart.permutation包用置换法(permutation)评估树的有效性(http://cran.r-project.org/web/packages/rpart.permutation/index.html)。knnTree包建立一个分类树,每个叶子节点是一个knn分类器(http://cran.r-project.org/web/packages/knnTree/index.html)。LogicReg包做逻辑回归分析,针对大多数自变量是二元变量的情况(http://cran.r-project.org/web/packages/LogicReg/index.html)。maptree包(http://cran.r-project.org/web/packages/maptree/index.html)和pinktoe包(http://cran.r-project.org/web/packages/pinktoe/index.html)提供树结构的可视化函数。
3)随机森林(Random Forests):
randomForest和randomForestSRC 包提供了用随机森林做回归和分类的函数(http://cran.r-project.org/web/packages/randomForest/index.html)。ipred包用bagging的思想做回归,分类和生存分析,组合多个模型(http://cran.r-project.org/web/packages/ipred/index.html)。party包也提供了基于条件推断树的随机森林法(http://cran.r-project.org/web/packages/party/index.html)。varSelRF包用随机森林法做变量选择(http://cran.r-project.org/web/packages/varSelRF/index.html)。
4)Regularized and Shrinkage Methods:
lasso2包(http://cran.r-project.org/web/packages/lasso2/index.html)和lars包(http://cran.r-project.org/web/packages/lars/index.html)可以执行参数受到某些限制的回归模型。elasticnet包可计算所有的收缩参数(http://cran.r-project.org/web/packages/elasticnet/index.html)。glmpath包可以得到广义线性模型和COX模型的L1 regularization path(http://cran.r-project.org/web/packages/glmpath/index.html)。penalized包执行lasso (L1) 和ridge (L2)惩罚回归模型(penalized regression models)(http://cran.r-project.org/web/packages/penalized/index.html)。pamr包执行缩小重心分类法(shrunken centroids classifier)(http://cran.r-project.org/web/packages/pamr/index.html)。earth包可做多元自适应样条回归(multivariate adaptive regression splines)(http://cran.r-project.org/web/packages/earth/index.html)。
5)Boosting :
gbm包(http://cran.r-project.org/web/packages/gbm/index.html)和boost包(http://cran.r-project.org/web/packages/boost/index.html)执行多种多样的梯度boosting算法,gbm包做基于树的梯度下降boosting,boost包包括LogitBoost和L2Boost。GAMMoost包提供基于boosting的广义相加模型(generalized additive models)的程序(http://cran.r-project.org/web/packages/GAMMoost/index.html)。mboost包做基于模型的boosting(http://cran.r-project.org/web/packages/mboost/index.html)。
6)支持向量机(Support Vector Machines):
e1071包的svm()函数提供R和LIBSVM的接口 (http://cran.r-project.org/web/packages/e1071/index.html)。kernlab包为基于核函数的学习方法提供了一个灵活的框架,包括SVM、RVM……(http://cran.r-project.org/web/packages/kernlab/index.html) 。klaR 包提供了R和SVMlight的接口(http://cran.r-project.org/web/packages/klaR/index.html)。
7)贝叶斯方法(Bayesian Methods):
BayesTree包执行Bayesian Additive Regression Trees (BART)算法(http://cran.r-project.org/web/packages/BayesTree/index.html,http://www-stat.wharton.upenn.edu/~edgeorge/Research_papers/BART%206--06.pdf)。tgp包做Bayesian半参数非线性回归(Bayesian nonstationary, semiparametric nonlinear regression)(http://cran.r-project.org/web/packages/tgp/index.html)。
8)基于遗传算法的最优化(Optimization using Genetic Algorithms):
gafit包(http://cran.r-project.org/web/packages/gafit/index.html)和rgenoud包(http://cran.r-project.org/web/packages/rgenoud/index.html)提供基于遗传算法的最优化程序。
9)关联规则(Association Rules):
arules包提供了有效处理稀疏二元数据的数据结构,而且提供函数执Apriori和Eclat算法挖掘频繁项集、最大频繁项集、闭频繁项集和关联规则(http://cran.r-project.org/web/packages/arules/index.html)。
10)模型选择和确认(Model selection and validation):
e1071包的tune()函数在指定的范围内选取合适的参数(http://cran.r-project.org/web/packages/e1071/index.html)。ipred包的errorest()函数用重抽样的方法(交叉验证,bootstrap)估计分类错误率(http://cran.r-project.org/web/packages/ipred/index.html)。svmpath包里的函数可用来选取支持向量机的cost参数C(http://cran.r-project.org/web/packages/svmpath/index.html)。ROCR包提供了可视化分类器执行效果的函数,如画ROC曲线(http://cran.r-project.org/web/packages/ROCR/index.html)。caret包供了各种建立预测模型的函数,包括参数选择和重要性量度(http://cran.r-project.org/web/packages/caret/index.html)。caretLSF包(http://cran.r-project.org/web/packages/caretLSF/index.html)和caretNWS(http://cran.r-project.org/web/packages/caretNWS/index.html)包提供了与caret包类似的功能。
11)统计学习基础(Elements of Statistical Learning):
书《The Elements of Statistical Learning: Data Mining, Inference, and Prediction 》(http://www-stat.stanford.edu/~tibs/ElemStatLearn/)里的数据集、函数、例子都被打包放在ElemStatLearn包里(http://cran.r-project.org/web/packages/ElemStatLearn/index.html)。
12)R统计软件的Lars算法的软件包提供了Lasso算法。根据模型改进的需要,数据挖掘工作者可以借助于Lasso算法,利用AIC准则和BIC准则精炼简化统计模型的变量集合,达到降维的目的。因此,Lasso算法是可以应用到数据挖掘中的实用算法。glasso(graphical lasso)是lasso方法的一种扩展,采用加罚的极大似然方法估计变量间协方差矩阵的逆矩阵(这个逆矩阵在图模型中被称为Concentration Matrix或者Precision Matrix),加以适当整理之后,可以得到变量间的稀疏化的偏相关系数矩阵,其中的零元素表示了变量间的条件独立关系。我们可以利用其中的非零元素生成图模型。
参考文献:http://www.douban.com/note/262946592/?type=like
备注:欢迎朋友们补充……
ML—机器学习常用包(持续更新….)的更多相关文章
- Linux常用命令——持续更新(2018-05-09)
此命令默认是在centos环境下执行,除非特殊标明. 1.查看ip: ifconfig 2.创建指定用户并分配到某个组:创建用户user并分配到root组 useradd -g root user 3 ...
- iOS 常用三方(持续更新)
iOS 常用三方 1.ZWMSegmentController 分页控制器 https://github.com/weiming4219/ZWMSegmentController
- Appium无线连接安卓终端方法 + ADB Shell常用命令(持续更新)
ADB无线连接手机的方法1)手机与PC有线相连 - 检查是否连接正常: adb devices - 执行以下命令:adb tcpip 5555 # 当前9001 - 成功提示:restar ...
- PHP的常用函数 持续更新
PHP的常用函数 前言: 由于害怕遗忘,故在此记录下常用的php函数,以便复习 1 define函数 作用:定义常量 用法 <?php define('a',100); ?> 2 intv ...
- Intellij 常用技巧-持续更新
1.快速输入 System.out.println(); sout [TAB] 2.删除Module ctrl+alt+shift+s 调出 Project Structure ,也可点击菜单Fil ...
- Linux常用命令(持续更新中)
cd 目录名 :进入某个目录 ls :列出当前目录的内容 locate 文件名/目录名:寻找文件.目录 find 目录名1 -name 文件名/目录名2 :在目录1中寻找目录2 whereis 文件 ...
- git常用命令[持续更新]
git commit -am "abc" 提交已经删除过的文件 git reset --hard HEAD 用于清除跟踪文件的修改
- linux常用命令[持续更新]
top 察看系统状态,退出按q ps -A 察看所有进程 ps -A|grep gcalc|awk '{print $1}'|xargs kill 杀掉所有gcalc进程
- Linux常用(持续更新)
1. scp ./bcec_computernode_check.sh root@10.254.3.1:/tmp 2. # uname -a # cat /proc/version # cat /e ...
随机推荐
- 用信鸽来讲解HTTPS的知识
加密是一个很难理解的东西,这里头满是数学证明.不过,除非你是在开发一个加密系统,否则无需了解那些高阶的复杂知识. 如果你看这篇文章是为了创造下一个 HTTPS 协议,很抱歉,请出门左走,鸽子是远远不够 ...
- java 中的内部类总结
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类. 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动). 显 ...
- 《Linux内核分析》第四周笔记 扒开系统调用的三层皮(上)
扒开系统调用的三层皮(上) 一.用户态.内核态和中断 库函数将系统调用封装起来. 1.什么是用户态和内核态 一般现代CPU都有几种不同的指令执行级别. 在高执行级别下,代码可以执行特权指令,访问任意的 ...
- week2--操作系统是如何工作的
潘恒 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.一个简单的时间 ...
- 基于RYU的拓扑发现
基于RYU的拓扑发现 前言 本次实验是一个基于RYU的拓扑发现功能.参考了呈神的实现方式,并加了一些自己实现方式,做了一些数据结构的改动. 数据结构 link_to_port 字典 有两种关系: 一是 ...
- VS2015安装与单元测试
很久之前就听说微软有一款强大的编程软件——Visual Stdio系列,也许是满足于VC和CB的小巧一直都没有去尝试,借这次软件工程的机会终于可以一睹其真容,第一感觉是高大上,一改VC和CB的简洁,看 ...
- 弟三周作业之VS2015
这周有个任务就是安装VS2015,然后进行简单的单元测试. 首先我上吴小勇同学给的MSDN官网(http://www.itellyou.cn/)下载VS2013, 然后装上后,在工具栏里,点击工具里的 ...
- Xdebug原理
前言: 前面一篇博文记录了Xdebug的安装配置.配置使用起来相对简单易懂,那么Xdebug的实现原理又是如何呢?所以就找了些资料来理解下其中的原理. 内容: Xdebug工作原理 1,IDE(如Ph ...
- Maven 学习笔记——Maven环境配置(1)
在学习Selenium的过程中,接触到了Maven(项目管理工具),不至于学一路忘一路,左耳朵进右耳多出,还是决定边学边记录,毕竟听的不如 看的,看的不如写的吗.首先学一样东西,肯定得明确学的是什么, ...
- 【设计模式】—— 外观模式Facade
前言:[模式总览]——————————by xingoo 模式意图 外观模式主要是为了为一组接口提供一个一致的界面.从而使得复杂的子系统与用户端分离解耦. 有点类似家庭常用的一键开关,只要按一个键,台 ...