R 使用交叉验证减少预测结果的变化
我试图预测一些足球比赛的获胜类别。我有以下建议:R 使用交叉验证减少预测结果的变化,r,machine-learning,random-forest,R,Machine Learning,Random Forest,我试图预测一些足球比赛的获胜类别。我有以下建议: head(df) won TEAM1 TEAM2 EXPG1 EXPG2 VAR1 VAR2 41 1 Bordeaux Bastia 1.4200 0.93285 0.33 0.32 42 0 Caen Rennes 1.3105 1.11580 0.44 0.43 4
head(df)
won TEAM1 TEAM2 EXPG1 EXPG2 VAR1 VAR2
41 1 Bordeaux Bastia 1.4200 0.93285 0.33 0.32
42 0 Caen Rennes 1.3105 1.11580 0.44 0.43
43 2 Lens Reims 1.3678 0.90433 0.34 0.43
44 2 Lorient Guingamp 1.1773 0.96671 0.43 0.54
45 2 Olympique Marseille Nice 1.3541 0.89154 0.53 0.54
46 2 Metz Olympique Lyonnais 1.1768 0.99026 0.53 0.61
不,我想说以下几点:
- 测试如果在EXPG1和EXPG2之外包含VAR1或VAR2,我的预测是否会更好
- (如果我的预测更好)-测试是否应包括或VAR1或VAR2(哪个var更准确)
#library(caret)
inTrain <- createDataPartition(y=df$won, p=0.7, list=FALSE)
training <- df[inTrain, ]
testing <- df[-inTrain, ]
#perform rf for EXPG1 and EXPG2
fit1 <- randomForest(won ~ EXPG1 + EXPG2, data=training, importance=TRUE, ntree=2000)
Prediction1 <- predict(fit1, testing)
conf1 <- confusionMatrix(Prediction, testing$won)
#get accuracy
#perform rf for EXPG1, EXPG2 and VAR1
fit1 <- randomForest(won ~ EXPG1 + EXPG2 + VAR1 , data=training, importance=TRUE, ntree=2000)
Prediction1 <- predict(fit1, testing)
conf1 <- confusionMatrix(Prediction, testing$won)
#get accuracy
#perform rf for EXPG1, EXPG2 and VAR1
fit1 <- randomForest(won ~ EXPG1 + EXPG2 + VAR2 , data=training, importance=TRUE, ntree=2000)
Prediction1 <- predict(fit1, testing)
conf1 <- confusionMatrix(Prediction, testing$won)
#get accuracy
#库(插入符号)
带或不带巴黎圣日耳曼的inTrain?你不应该在列车上安装randomForest,而不是在包含测试的整个df
上安装randomForest吗?CV并不意味着你应该在训练期间将模型暴露在测试数据中。@cyberj0g谢谢你的回答。所以安装是的。你所说的预测是什么意思iff
?CV和测试结果之间的准确度差异的2%实际上相当不错。不,我的意思是,有一次我得到了41%的准确度,如果我再次运行它(不设置种子)它给了我43%…有或没有巴黎圣日耳曼?你不应该在列车
上安装randomForest吗,而不是在包含测试
的整个df
上安装randomForest吗?CV并不意味着你应该在训练期间将模型暴露在测试数据中。@cyberj0g谢谢你的回答。所以安装是的。你所说的预测是什么意思ions still diff
?CV和测试结果之间的准确度差异的2%实际上相当不错。不,我的意思是,有一次我得到41%的准确度,如果我再次运行它(不设置种子),它会给我43%。。。
#perform rf for EXPG1 and EXPG2
fit1 <- randomForest(won ~ EXPG1 + EXPG2, data=training, importance=TRUE, ntree=2000)
Prediction1 <- predict(fit1, testing)
conf1 <- confusionMatrix(Prediction, testing$won)
#get accuracy