
各种预测模型汇总
二、各种预测模型
1、naiveBayes
#应变量 y 为 email$spam,“~.”表示身下的所有属性都是自变量
#第二个参数我也不知道
#第三个参数为数据源
NBfit<-naiveBayes(as.factor(email$spam)~.,laplace=0,data=email)
#用 naiveBayes 的结果做预测,第一个参数为用预测函数形成的对象,第二个参
数为被预测的自变量的值
#再把预测好的应变量的值存入对象 pred2 中
pred2<-predict(NBfit,email[,2:19])
#比较预测值与真实值的差别
#形成一个 2*2 的矩阵,对角线为正确的,其余为预测错误的
table(pred2, email$spam)
2、线性回归(lm 函数)
#createDataPartition 函数用于制作训练集,其中 y=faithful$waiting 指按照
该属性分类,p=0.5 指将 p*100%的值用于训练,list=FALSE 不用管,默认为 false
inTrain<-createDataPartition(y=faithful$waiting, p=0.5, list=FALSE)
#其中 50%用于训练
trainFaith<-faithful[inTrain,]
#剩下 50%用于测试
testFaith<-faithful[-inTrain,]
#回归模型函数在这里################################
#同上,y~x,数据源
lm1<-lm(eruptions~waiting, data=trainFaith)
newdata<-data.frame(waiting=80)
predict(lm1, newdata)
注:由于 lm 函数的预测值是一个置信度为大致 0.95 左右(可以自己定义)的区间,所
以 predict 共有 3 个属性结果,所以不可以用它来预测 table 之类的混淆矩阵
3、决策树:(rpart 函数)
# grow the tree