登录 | 注册
窗体顶端
窗体底端 收藏成功 确定
收藏失败,请重新收藏 确定 窗体顶端 标题
标题不能为空 网址
标签
摘要
公开
取消收藏 窗体底端
查看所有私信查看所有通知 暂没有新通知
返回通知列表下一条上一条 分享资讯 传PPT/文档 提问题 写博客 传资源 创建项目 创建代码片
u010664846编辑自我介绍,让更多人了解你 帐号设置退出 社区 博客 论坛 下载 技术问答 极客头条 英雄会 服务 JOB 学院 CODE 活动 CSTO
C币兑换 俱乐部 CTO俱乐部 高校俱乐部 军军的专栏
大数据、机器学习、数据挖掘
目录视图 摘要视图 订阅
2016软考项目经理实战班 python编程常用模板总结 【博客专家】有奖试读—Windows PowerShell实战指南 关闭
重点:机器学习总结之各算法常用包和函数 标签:机器学习常用算法包及函数
2016-02-09 13:43 32人阅读评论(0) 收藏举报 分类:
机器学习(55) 作者同类文章X
版权声明:本文为博主原创文章,未经博主允许不得转载。
目录(?)[+]
基本操作常用函数及包 一线性回归 二主成分分析 三贝叶斯
S3 method for class formula Default S3 method 四K近邻KNN 算法 五决策树 六随机森林 七支持向量机 八神经网络
九聚类层次聚类动态聚类Kmeans
十EM算法最大期望算法Expectation-maximizationalgorithm又译期望最大化算法 十一Bootstrap自助法算法 十二bagging装袋算法
十三Boostingadaboostxgboost 十四协同过滤
十五关联规则Aprior算法 十六PageRank算法
十七时间序列常用到的函数 十八文本分析
基本操作常用函数及包 预测函数:predict() type=”prob”判别该量度的昆虫归类为A、B和C的概率;type=”response”:判别该量度的昆虫的类别;
预测分类的概率的函数predict(…, type)参数type:
R语音里面不同模型,参数type取值也不同。例如,可能取值有prob、posterior、raw(朴素贝叶斯)、probability(请参考使用包的帮助文档确定),type=”class”表示结果为分类。 mice包中的mice(data, m)函数:通过链式方程产生多个虚值。data为数据框或包含不完整数据的矩阵,缺省值为NA;m为多重插补数,默认为5。(随机森林)
stats包中的cutree(tree, k, h)函数:把一棵树变成一组数据。tree为hclust()函数产生的数;k为分组数。
model_id <- cutree(model_hclust, 3) 函数cuttree()将数据iris分类结果iris.hc编为三组分别以1,2,3表示
R语言plyr等包合并、排序、分析数据并编制香农-威纳指数
plyr包中的colwise(fun)函数:列式函数,在数据框的列上操作的函数。fun为要数据框的列上操作的函数。
数据预处理包:dplyr
write.table(x, file, row.names=T, col.names=T, sep, quote)函数:将x的内容输出到文件中。x为要输出的内容;file为要输出的文件;row.names为F不输出行名,默认为T表示输出;col.names为F不输出列名,默认为T表示输出;sep为每行的分隔符;quote为F表示输出结果不被引用,为T输出结果将被引号引用。
data.table包中的data.table(x)函数:增强的数据框。x为数据框 常用包:
1、caret包中的train(formula, data, method, metirc, trControl, tuneGrid, preProcess)函数(不同调谐参数的预测模型):设置一个网格的调整参数的一些分类和回归例程,适合每个模型,并计算基于重采样的性能测量。method指定分类或回归模型的字符串;metric指定将用于选择的最佳模型的概要度量的字符串;trControl定义控制函数行为值的列表;tuneGrid一个数据框可能的调整值,列名与调整参数相同;preProcess为指定的预处理参数。
caret包中的trainControl(method, number, repeats, selectionFunction)函数:训练控制参数。method为重采样方法,有boot/boot632/cv/repeatedcv/LOOCV/LGOCV/none/oob/adaptive_cv/adaptive_boot/adaptive_LGOCV;number为重采样的迭代次数;repeats为几重交叉验证;selectionFunction选择最佳调整参数的函数。
caret包中的findCorrelation(x, cutoff)函数:确定高度相关变量。x为相关系数矩阵;cutoff成对相关系数绝对值的截止值。
caret包中的rfeControl(functions, method, number)函数:控制特征选择算法。functions为一个模型拟合、预测和变量重要性的函数列表;method为外部的重采样方法(boot、cv等);number为N-fold CV或重采样迭代次数。
caret包中的rfe(x, y, sizes, rfeControl)函数:一个简单的逆向选择,即递归特征选择(RFE)。x为预测模型的数据库或矩阵;y为训练集的输出;sizes是应保留特征数的整数数字向量;rfeControl为一个包含拟合和预测函数的选择列表。
createdatapartition(y, times, p=0.5, list)函数:创建一系列的测试/训练的分区。y为真实分类数据,一个输出的向量,如果是createtimeslices,这些应该是按时间的顺序;times为创建的分区的数目,除非重复实验,否则需要一个就行;p训练集占数据集的比重;list为F是不将结果列在列表中。
createresample()函数:创建一个或多个Bootstrap样本; Createfolds()函数:将数据分为K组;
createtimeslices()函数:创建交叉验证样本信息可用于时间序列数据。 2、R语言sqldf包的sqldf()函数:对数据框做SQL操作
newdf <- sqldf(“select * from mtcars where carb=1 order by mpg”,row.names = TRUE)
3、R中常用的几个扩展包,其中包括用ggplot2包来绘图,用glmnet包做回归,用tm包进行文本挖掘,用plyr、reshape、lubridate和stringr包进行数据预处理,stringr包处理字符串。 4、在数据分析的过程中,我们经常需要对数据建模并做预测。在众多的选择中,randomForest, gbm和glmnet是三个尤其流行的R包,它们在Kaggle的各大数据挖掘竞赛中的出现频率独占鳌头,被坊间人称为R数据挖掘包中的三驾马车。根据我的个人经验,gbm包比同样是使用树模型的randomForest包占用的内存更少,同时训练速度较快,尤其受到大家的喜爱。 irr包中的Kappa2()函数:计算科恩Kappa和权重Kappa作为2者一致性的一个指标。 一、线性回归 R 中的工具:
regsubsets函数进行feature选择; glmnet包用于ridge,lasso;
pls包中的pcr()函数用于PCR,plsr()函数用于PLS; mgcv包用于GAM;
lme4包用于mixed effects model
1、通过car(DAAG)包的vif()函数,返回的是方差的膨胀因子,如果膨胀因子大于10,则说明有多重共线性(用于解决多重共线性,判断膨胀因子)。用法如下: library(DAAG)
lm.reg<-lm(Employed~GNP+Unemployed+Armed.Forces+Population+Year,data=longley) vif(lm.reg, digits=4)
GNP Unemployed Armed.Forces Population Year
1034.000 23.260 3.152 225.700 732.600 膨胀因子大多大于10,存在严重的相关性 一般来说kappa大于1000,或vif大于10说明存在复共线性。 (car包中的)回归诊断实用函数 函数目的
qqPlot()分位数比较图
durbinWatsonTest()对误差自相关性做Durbin-Watson检验 crPlots()成分与残差图
ncvTest()对非恒定的误差方差做得分检验 spreadLevelPlot()分散水平检验 outlierTest() Bonferroni离群点检验 avPlots()添加的变量图形 inluencePlot()回归影响图 scatterplot()增强的散点图
scatterplotMatrix()增强的散点图矩阵 vif()方差膨胀因子
car包中的qqPlot(x, labels, id.method, simulate)函数:分位比较图。x为lm对象;labels为文本字符串向量;id.method为点识别方法;simulate为T,计算置信区间。
2、car包的scatterplotMatrix()函数:返回的是N*N的散点图矩阵。增强的散点图矩阵单因素显示沿着对角线;SPM是scatterplotmatrix(散点图矩阵)缩写。此功能只需设置一个与自定义面板功能对的调用(用于画图判断)。例如:
states<-as.data.frame(state.x77*,c(“Murder”,”Population”, “Illiteracy”,”Income”,”Frost”)+) #简化数据框
cor(states) #相关性检测 library(car)
scatterplotMatrix(states,spread=F,lty.smooth=2) spread=T为方差函数的估计;
car包中的scatterplot()函数:可以很容易、方便地绘制二元关系图;增强的散点图 car包的vif()函数:用于计算膨胀因子(用于解决多重共线性)。
car包中的outlierTest(model)函数:Bonferrnoi离群点检测。model为lm或glm对象。是根据单个最大(或正或负)残差值的显著性来判断是否有离群点,若不显著,则说明数据集中没有离群点,若显著,则必须删除该离群点,然后再检验是否还有其他离群点存在。
car包中的influencePlot()函数,可将离群点、杠杆点和强影响点的信息整合到一幅图形中
car包中的influencePlot(mdoel, id.method)函数:回归影像图。model为线性或广义线性模型;id.method为“identify”为交互点识别。 3、psych包用于主成分分析
psych包中的princomp()函数:可以根据原始数据或相关系数矩阵做主成分分析。格式为:principal(x,nfactors=,rotate=,scores=)
其中:x是相关系数矩阵或原始数据矩阵;nfactors设定主成分个数(默认为1);rotate指定旋转的方式(“none”或“varimax”)*默认最大方差旋转(varimax);scores设定是否需要计算主成分得分(“T”或”F”)(默认不需要)。
psych包中的fa.parallel()函数:可以判断主成分的个数,其使用格式为: fa.parallel(x, fa = ,