predict函数 R_学习|R语言做机器学习的常用函数总结

预测函数: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 3)  

R语言plyr包合并、排序、分析数据并编制香农-威纳指数
plyr包中的colwise(fun)函数:列式函数,在数据框的列上操作的函数。fun为要数据框的列上操作的函数。
数据预处理包:dplyr常用包:
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操作

<-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者一致性的一个指标。

(需要内推数据工作,请加微信:luqin360)

一、线性回归

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)

膨胀因子大多大于10,存在严重的相关性
一般来说kappa大于1000,或vif大于10说明存在复共线性。
(car包中的)回归诊断实用函数 

d8f721a38491e9892fba054e5ded788d.png

car包中的qqPlot(x, labels, id.method, simulate)函数:分位比较图。x为lm对象;labels为文本字符串向量;id.method为点识别方法;simulate为T,计算置信区间。2、car包的scatterplotMatrix()函数:返回的是N*N的散点图矩阵。增强的散点图矩阵单因素显示沿着对角线;SPM是scatterplotmatrix(散点图矩阵)缩写。此功能只需设置一个与自定义面板功能对的调用(用于画图判断)。例如:

"Population", 

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 = , n.iter
=)
其中,x为待研究的数据集或相关系数矩阵,fa为主成分分析(fa="pc")或者因子分析(fa = "fa"),n.iter指定随机数据模拟的平行分析的次数。
4、利用MASS包中的函数lm.ridge()来实现岭回归
利用ridge包中的linearRidge()函数进行自动选择岭回归参数
通过effects包中的effect()函数,可以用图形展示交互项的结果
利用ridge包中的linearRidge()函数进行自动选择岭回归参数
5、lars包提供了lasso()函数(lasso:套锁算法,用于解决多重共线性):Lasso算法则是一种能够实现指标集合精简的估计方法。并利用AIC准则和BIC准则给统计模型的变量做一个截断,进而达到降维的目的。因此,我们通过研究Lasso可以将其更好的应用到变量选择中去。
lars包提供的lars()函数:这些是套索所有的变种,并提供系数和适合整个序列,从零开始,以最小二乘法拟合。
lars包的cv.lars()函数:计算交叉验证误差曲线的Lars。cva lars包中的coef.lars()函数或者predict.lars()函数:从拟合的lars模型预测或提取系数;当lars()生产解决方案的整个路径,predict.lars允许提取沿着路径在特定的点预测。coef
S 一个值,或一个向量值,索引路径。它的值取决于mode= argument。默认情况下(mode= “step”),应该采取p和0之间的值
Mode Mode="step"是指S =参数指标的Lars的步数,系数将返回相应的值对应于step s。如果mode="fraction",然后应该是0和1之间的数,它指的是系数向量范数比,相对为了规范在全最小二乘解。Mode="norm"指的是指L1范数的系数向量。Mode="lambda"用套索正则化参数的;其他型号是最大相关(不让Lars
/逐步模型)。允许缩写。
共glmnet包实现lasso套锁算法,用cv.glmnet()函数来实现cv(交叉验证):做为glmnet K-fold交叉验证,产生了一个图,并返回一个值λ。
gla 折叠数-默认为10。虽然折叠数可以当样本容量大(留一CV),这是不推荐用于大型数据集。最小值是允许nfolds= 3

二、主成分分析

1、psych包的实例请参照 主成分分析2:psych包
psych包中的常用函数:

#含多种可选的方差放置方法的主成分分析

psych包中的fa.parallel()函数:可以判断主成分的个数,其使用格式为:
fa.parallel(x, fa = , n.iter =)
其中,x为待研究的数据集或相关系数矩阵,fa为主成分分析(fa= "pc")或者因子分析(fa = "fa"),n.iter指定随机数据模拟的平行分析的次数。
psych包中的principal( )函数:可以根据原始数据或相关系数矩阵做主成分分析,其使用格式为:
principal(x, nfactors =, rotate=, scores =)
其中,x是原始数据或相关系数矩阵,nfactors指定主成分个数,rotate指定旋转的方法(“none”或“varimax”),scores为是否需要计算主成分得分(“T”或”F”)。
使用fa()函数提取相应的因子,fa()函数的格式如下:fa(r,nfactors=,n.obs=,rotate=,scores=,fm=)
r是相关系数矩阵或者原始数据矩阵;
nfactors设定提取的因子数(默认为1);
n.obs是观测数(输入相关系数矩阵时需要填写);
rotate设定旋转的方法(默认互变异数最小法);
scores设定是否计算因子得分(默认不计算);
fm设定因子化方法(默认极小残差法)。
与PCA不同,提取公共因子的方法很多,包括最大似然法(ml)、主轴迭代法(pa)、加权最小二乘法

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值