R语言任务视图:机器学习与统计学…

机器学习是计算机科学和统计学的边缘交叉领域,R关于机器学习的扩展包大概包括以下几个方面:
  • 神经网络(Neural Networks) : 单隐含层神经网络在nnet 包(与R基础包一同发布)中实现。RSNNS 包提供斯图加特神经网络仿真软件(SNNS)的使用接口。
  • 递归拆分(Recursive Partitioning) : 根据CART书中算法完成的用于回归、分类和生存分析的树形结构模型在rpart 包(与R基础包一同发布) 和tree包中实现。rpart包推荐用于计算与分类回归树相类似的树结构。 Weka 拥有很多拆分算法的工具包,RWeka提供了Weka的C4.5(J4.8变种)和M5实现的使用接口。Cubist包通过在叶端使用线性回归模型、基于实例修正、boosting拟合基于规则的模型(与树类似)。C50包可以拟合C5.0分类树和基于规则的模型及其boosting版本。
    party包有两个带有无偏变量选择和统计停止准则的递归拆分算法实现。ctree()函数基于非参数条件推理过程,用于测试响应变量和每个输入变量的无关性;而mob()函数能用于拆分参数模型。party包也提供了用于可视化二叉树和响应变量节点分布的可扩展工具。
    用于多元响应变量的rpart改进版本在mvpart包提供。对于二元输入变量问题,LogicReg包实现了逻辑回归。maptree包提供了树的可视化工具。
    用于通过随机效应对纵向数据进行建模的树由REEMtree包提供。RPMM提供了对混合模型(Beta和高斯混合)的拆分。
    用于表达树的计算基础架构、预测和可视化的统一方法在partykit包内实现。oblique.tree包提供了用于分类数据的斜树。
  • 随机森林(Random Forests) : randomForest包提供了用于回归和分类的随机森林算法参考实现。ipred包提供了用于回归、分类和生存分析的bagging(bootstrap aggregating的缩写)算法及通过集成学习对多个模型进行组合的bundling算法。此外,基于条件推断决策树(conditional inference tree)的随机森林变体(其响应变量可以以任意比例估量)在party包中实现。randomSurvivalForest包提供用于删失数据的随机生存森林算法。分位数回归森林 quantregForest通过随机森林方式对探索变量的数值响应变量分位数进行回归。varSelRF和Boruta包专注于通过随机森林进行变量选择。对于大数据集,bigrf包以并行方式计算随机森林并使用大的内存对象存储数据。
  • 正规化和收缩方法(Regularized and Shrinkage Methods) : 参数评估受限的回归模型可以使用lasso2和lars包进行拟合。grplasso包提供了群体LASSO(Least Absolute Shrinkage and Selection Operator)惩罚模型;  grpreg包实现了一些其他群体惩罚模型,例如群体MCP(Minimax Concave Penalty)和群体SCAD(Smoothly Clipped Absolute Deviation Penalty)。用于广义线性模型和Cox模型的L1正规化路径可以通过glmpath包里的函数获得,用于线性回归、逻辑回归和多项式回归模型的整个lasso或elastic-net 正规化路径(也存在于elasticnet) 可以通过glmnet包获得。penalized包提供了lasso (L1)和ridge (L2)惩罚回归模型(支持广义线性模型和Cox模型)的另一个替代实现。RXshrink包能用于标识和显示特定收缩路径的跟踪信息、判断合适的收缩程度。 使用lasso惩罚的半参数加法风险模型由ahaz包提供。一种用于线性回归的广义lasso收缩技术,relaxed lasso,由relaxo包提供。penalizedLDA包实现使用(可选的)LASSO惩罚的费舍尔线性判别分析,用于特征值p远大于观测值n的高维数据。pamr包实现了用于基因表达分析的缩小重心分类法和工具。earth包提供了一个多元自适应样条回归实现。penalizedSVM包提供了使用惩罚功能(SCAD或L1惩罚)的变量选择支持向量机。 各种惩罚判别分析在hda、rda、sda和SDDA包内实现。LiblineaR包提供了LIBLINEAR库的接口。ncvreg包使用坐标下降算法进行SCAD和MCP逻辑惩罚来拟合线性和逻辑回归模型。 bigRR包关注于高吞吐量岭回归(例如,对很多预测变量进行惩罚)和异方差效应模型。 bmrm包提供了一个用于正规化风险最小化的束方法实现。
  • Boosting : 各种形式的梯度boosting在gbm包 (基于树的功能性梯度下降boosting)内实现。由boosting优化的Hinge-loss实现在bst包内.  GAMBoost包可用于通过boosting算法拟合广义加法模型。mboost包提供一个用于广义线性、加法和非参数模型的可扩展boosting框架。 基于似然估计的boosting实现,用于Cox模型的在CoxBoost包内提供,用于混合模型的在GMMBoost包内提供。GAMLSS模型可以使用gamboostLSS提供的boosting进行拟合。
  • 支持向量机(Support Vector Machines and Kernel Methods) : e1071包中的svm()函数提供LIBSVM库的接口,包kernlab 为核学习(包括SVM、RVM和其他核学习算法)提供了一个灵活的框架。 klaR 包提供了用于SVMlight实现(仅one-against-all多类分类)的接口。 核特征空间的关联维可以使用rdetools包进行估计,rdetools也提供了用于模型选择和预测的程序。
  • 贝叶斯方法(Bayesian Methods) : tgp包提供了贝叶斯非稳半参数非线性回归和基于树的高斯过程(包括贝叶斯线性模型、分类和回归树、基于树的线性模型)设计.
  • 基于遗传算法的优化(Optimization using Genetic Algorithms) : rgp和rgenoud包提供基于遗传算法的最优化程序。Rmalschains包实现了基于局部搜索链的模因算法(memetic algorithm),该算法为一种特俗的演化算法类型,是稳态基因算法和用于实数参数优化的局部搜索的结合体。模因算法,又译为文化基因算法,全局搜索策略可以采用遗传算法、进化策略、进化规划等;局部搜索策略可以采用爬山搜索、模拟退火、贪婪算法、禁忌搜索等。
  • 关联规则(Association Rules)  arules包提供了有效处理稀疏二元数据的数据结构,以及为用于挖掘频繁项集、最大频繁项集、闭频繁项集和关联规则的Apriori和Eclat算法实现提供接口。
  • 基于规则的模糊系统(Fuzzy Rule-based Systems) : frbs包实现了许多用于回归和分类、从数据中学习模糊规则系统的标准方法。RoughSets包提供了粗糙集理论(RST)和模糊粗糙集理论(FRST)的完整实现。
  • 模型选择和验证(Model selection and validation) : e1071包中用于超参数调优的tune()函数和ipred包中的errorest() 函数可被用于错误率估计。svmpath 包里的函数可用来选取支持向量机的代价参数C。ROCR 包提供了函数用于ROC分析和其他用于对比候选分类器的可视化技术。caret 包供了各种建立预测模型的函数,包括参数调优和变量重要性量度。这些包可被用于各种并行实现(例如MPI、NWS等)。
  • 统计学习基础(Elements of Statistical Learning) : 《The Elements of Statistical Learning: Data Mining, Inference, and Prediction 》一书中的数据集、函数、例子都被打包放在ElemStatLearn包中。
  • rattle 是R中用于数据挖掘的图形用户界面。
CORElearn  包实现了很多机器学习算法,例如最近邻域算法、树、随机森林和一些特征选择方法。与之类似, rminer  包可以使用其他包的许多学习算法并计算多种性能度量。

CRAN上的R包:

  • ahaz
  • arules
  • bigrf
  • bigRR
  • bmrm
  • Boruta
  • bst
  • C50
  • caret
  • CORElearn
  • CoxBoost
  • Cubist
  • e1071 (core)
  • earth
  • elasticnet
  • ElemStatLearn
  • frbs
  • GAMBoost
  • gamboostLSS
  • gbm (core)
  • glmnet
  • glmpath
  • GMMBoost
  • grplasso
  • grpreg
  • hda
  • ipred
  • kernlab (core)
  • klaR
  • lars
  • lasso2
  • LiblineaR
  • LogicReg
  • maptree
  • mboost (core)
  • mvpart
  • ncvreg
  • nnet (core)
  • oblique.tree
  • pamr
  • party
  • partykit
  • penalized
  • penalizedLDA
  • penalizedSVM
  • quantregForest
  • randomForest (core)
  • randomSurvivalForest
  • rattle
  • rda
  • rdetools
  • REEMtree
  • relaxo
  • rgenoud
  • rgp
  • Rmalschains
  • rminer
  • ROCR
  • RoughSets
  • rpart (core)
  • RPMM
  • RSNNS
  • RWeka
  • RXshrink
  • sda
  • SDDA
  • svmpath
  • tgp
  • tree
  • varSelRF

原文:http://blog.sina.com.cn/s/blog_72ef7bea0101i9zk.html

你可能感兴趣的:(R语言基础)