R语言 机器学习包

from:http://www.zhizhihu.com/html/y2009/410.html

机器学习是计算机科学和统计学的边缘交叉领域,R关于机器学习的包主要包括以下几个方面: 
1)神经网络(Neural Networks):
nnet包执行单隐层前馈神经网络,nnet是VR包的一部分(http://cran.r-project.org/web/packages/VR/index.html)。 
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 包提供了用随机森林做回归和分类的函数(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.htmlhttp://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)。

网址:http://cran.r-project.org/web/views/MachineLearning.html维护人员:Torsten Hothorn

时间: 2025-01-04 23:55:26

R语言 机器学习包的相关文章

R语言︱机器学习模型评估方案(以随机森林算法为例)

R语言︱机器学习模型评估方案(以随机森林算法为例) 笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评价模型的方式. 常见的应用在监督学习算法中的是计算平均绝对误差(MAE).平均平方差(MSE).标准平均方差(NMSE)和均值等,这些指标计算简单.容易理解:而稍微复杂的情况下,更多地考虑的是一些高大上的指标,信息熵.复杂度和基尼值等等. 本篇可以用于情感挖

R语言︱机器学习模型评价指标+(转)模型出错的四大原因及如何纠错

笔者寄语:机器学习中交叉验证的方式是主要的模型评价方法,交叉验证中用到了哪些指标呢? 交叉验证将数据分为训练数据集.测试数据集,然后通过训练数据集进行训练,通过测试数据集进行测试,验证集进行验证. 模型预测效果评价,通常用相对绝对误差.平均绝对误差.根均方差.相对平方根误差等指标来衡量. 只有在非监督模型中才会选择一些所谓"高大上"的指标如信息熵.复杂度和基尼值等等. 其实这类指标只是看起来老套但是并不"简单",<数据挖掘之道>中认为在监控.评估监督模型

安装R语言的包的方法

安装R语言的包的方法: 1. 在线安装 在R的控制台,输入类似install.packages("TSA")  # 安装 TSA install.packages("TSA", contriburl="url",  dependencies = TRUE) # 安装TSA 2. 手动安装(离线安装) 在Windows下: 下载对应的package.zip文件 打开R的菜单条->Packages->"Install packa

R语言的包管理功能

现代的开发语言都已经不再是单一的编程语言和编译环境,而是一个网络化的分布式系统.通过包(packages)管理程序进行软件模块的安装.卸载.更新等操作. 包管理的思路从Linux操作系统而来,通过Debian的apt-get可以从全球数万个网站快速获取软件的最新版本.在Mac OS X上也可以通过MacPort或Brew进行软件包的管理.Java语言自己不带包管理程序,但可通过maven进行包的自动下载和编译.链接.nodejs是通过npm进行包管理.python通过pip进行包管理.这些都是在

R语言diagram包画订单状态流图

代码如下: library("diagram") #a <- read.table(file="clipboard",header=TRUE) write.table(a,file="a.txt",sep=";") aa <- a c <- matrix(nrow=ncol(aa),ncol=ncol(aa),0) i <- 1 while(i<=ncol(aa)){ j <- 1 whil

R语言TTR包的安装

R语言是一门统计语言,主要用于数学建模.统计计算.数据处理.可视化 等几个方向,R语言天生就不同于其他的编程语言.R语言封装了各种基础学科的计算函数,我们在R语言编程的过程中只需要调用这些计算函数,就可以构建出面向不同领域.不同业务的.复杂的数学模型. 一.作用 1.TTR包的目的是在R当中构造技术分析和其它技术交易规则的函数.TTR可在CRAN中找到,目前的版本号是0.22(更新2013-3-18). TTR目前的功能是提供了一些常见的技术分析指标的函数,可以分为下面几类: 移动平均 趋势检测

R语言igraph 包-构建网络图

igaph 是一个项目,目标是建立一条简单,易用的网络分析工具,有 R, python, C/C++ 等语言的具体实现: 项目主页: http://igraph.org/ 在R语言中,对应的就是 igraph 这个R包 安装: install.packages("igraph") 使用: 对于图 graph 这种数据结构而言,最基本的元素包括节点(node) 和 边(节点之间的连线,edge); igraph 这个R包提供了很多种创建graph的方式,我们先看一个最基本的例子,从数据框

R语言 recommenderlab 包

recommend li_volleyball 2016年3月20日 library(recommenderlab) ## Warning: package 'recommenderlab' was built under R version 3.2.4 ## Loading required package: Matrix ## Loading required package: registry ## Loading required package: arules ## ## Attach

R语言XML包的数据抓取

htmlParse 函数 htmlParse加抓HTML页面的函数. url1<-"http://www.caixin.com/"url<-htmlParse(url1,encoding="UTF-8") 但是有的网站会出现报错.例如淘宝,错误信息为: Warning message:XML content does not seem to be XML: 'https://www.taobao.com/' 原因为htmlParse可以抓取http的页面