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.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)。
12)R统计软件的Lars算法的软件包提供了Lasso算法。根据模型改进的需要,数据挖掘工作者可以借助于Lasso算法,利用AIC准则和BIC准则精炼简化统计模型的变量集合,达到降维的目的。因此,Lasso算法是可以应用到数据挖掘中的实用算法。glasso(graphical lasso)是lasso方法的一种扩展,采用加罚的极大似然方法估计变量间协方差矩阵的逆矩阵(这个逆矩阵在图模型中被称为Concentration Matrix或者Precision Matrix),加以适当整理之后,可以得到变量间的稀疏化的偏相关系数矩阵,其中的零元素表示了变量间的条件独立关系。我们可以利用其中的非零元素生成图模型。

参考文献:http://www.douban.com/note/262946592/?type=like



备注:欢迎朋友们补充……

时间: 2024-11-13 00:08:01

ML—机器学习常用包(持续更新….)的相关文章

git常用命令--持续更新中

开始使用git,还有一些命令没有用到,比如创建分支,创建tags等 持续学习,持续更新 1. git init --bare  //创建git工程 2. git clone [email protected]:/home/prj_git/xxx //导出一个git工程 3. git add xxx  //添加文件或目录 4. git commit -m "xxx" //添加更改信息 5. git push //提交工程 6. git pull //更新到最新 7. git log  /

Tomcat常用设置 <持续更新>

本篇主要用于修改一些常用配置时的参考.遇新常记,以备时需. =========================> Windows版 基本安装 在安装之前,JDK应该是已经安装妥当,并设置了%JAVA_HOME%与%JRE_HOME%: %JAVA_HOME% E:\Program Files\Java\jdk1.7.0_80 %JRE_HOME% E:\Program Files\Java\jdk1.7.0_80\jre 妥当后,在dos环境下用java -version 以及javac命令 检

Docker 村常用命令 (持续更新)

最近 用docker 搭建了项目环境.记录一下常用的docker命令 1. 搜索镜像:docker search redis redis :镜像名称  在docker 镜像库中搜索镜像 2. 拉取镜像:docker pull redis redis :镜像名称  拉去docker镜像 3.创建容器: docker run -p 6377:6379  --name myredis -v /root/redis/data:/data -d reids -p  宿主机端口:容器端口   将容器端口映射

windows 批处理常用指令 -- 持续更新

指令 1 功能 备注 REM 注释 后面的提示可以回显,可以被@echo off关闭 :: 注释,不能回显 有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别.无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,所以:: 常被用作注释符号,其实 :+ 也可起注释作用 echo 打开回显或关闭回显功能 on/off ,要关闭echo off 本身回显,加上@,将关闭该命令回显,无论此时echo是否为打开状态. echo. 输出一个空格 相当

sql常用函数---持续更新

1.SQL SERVER中的FLOAT转换为VARCHAR SELECT CAST(CAST(字段 AS DECIMAL(20,7)) AS VARCHAR(20)) FROM 要查的表 或者 SELECT CONVERT(VARCHAR(20),CONVERT(DECIMAL(20,7),字段)) FROM 要查的表 CAST   CONVERT   STR

linux 的常用命令(持续更新.....)

cp -a   相当于-dpR,保持文件的链接(d),保持原文件的属性(p)并作递归处理(R) -i    交互模式下会询问是否覆盖目标目录下的文件.使用 -i 选项,启用交互模式. cut -d选项的默认间隔符就是制表符,所以当你就是要使用制表符的时候,完全就可以省略-d选项,而直接用-f来取域就可以了. echo -n     #参数 -n 是最后不换行,echo默认是换行 -e     #如果有特殊字符,就进行特别处理 例如 \n   换行且光标移至行首 \t    插入 tab dd 1

docker-compose常用命令(持续更新...)

build 构建或重建服务 help 命令帮助 kill 杀掉容器 logs 显示容器的输出内容 port 打印绑定的开放端口 ps 显示容器 pull 拉取服务镜像 restart 重启服务 rm 删除停止的容器 run 运行一个一次性命令 scale 设置服务的容器数目 start 开启服务 stop 停止服务 up 创建并启动容器  

Linux常用命令——持续更新(20170724)

此命令默认是在centos环境下执行,除非特殊标明. 1.查看ip: ifconfig 2.创建指定用户并分配到某个组:创建用户user并分配到root组 useradd -g root user 3.修改指定用户的密码:修改用户名为user的密码 passwd user 4.查看当前用户所属的组: groups 5.查看某个用户所属的组:查看用户名为user所属的组 groups user

常用英语-持续更新

想当年也是过了英语四级的人,无赖荒废多年目前已经降至初中水平.最近工作环境变成英语的了. 先恶补几句应付着吧. How is the project going 项目进展怎么样 please provid the latest SRS(Software Requirements Specification) 请提供最新的SRS(软件需求规范) Can this problem be reproduced 这个问题可以重现吗 I have a doctor's appointment 我要去看医生