【发布时间】:2015-06-12 22:07:49
【问题描述】:
我目前正在学习多变量聚类和分类的统计课程。对于我们的作业,我们尝试使用 10 折交叉验证来测试不同分类方法在具有三个分类的 6 变量数据集上的准确度。我希望我能在创建 for 循环(或其他我不知道的更好的东西)上获得一些帮助来创建和运行 10 个分类和验证,这样我就不必在所有事情上重复自己 10 次....这就是我所拥有的。它会运行,但前两个矩阵只显示第一个变量。因此,我无法对其他部分进行故障排除。
index<-sample(1:10,90,rep=TRUE)
table(index)
training=NULL
leave=NULL
Trfootball=NULL
football.pred=NULL
for(i in 1:10){
training[i]<-football[index!=i,]
leave[i]<-football[index==i,]
Trfootball[i]<-rpart(V1~., data=training[i], method="class")
football.pred[i]<- predict(Trfootball[i], leave[i], type="class")
table(Actual=leave[i]$"V1", classfied=football.pred[i])}
删除“[i]”并用 1:10 替换它们现在可以单独工作....
【问题讨论】:
-
什么是足球?你能展示它是什么以及它包含什么吗?
-
我认为你可以创建
Trfootball、leave、training、football.pred等作为列表,即Trfootball <- vector('list', 10),然后在for循环中。使用[[i]](没有可重复的示例,未经测试) -
原始数据足球是一个 7x90 矩阵,第一列有 1-3 类,其余的有 6 个观察数据变量。这是足球数据的示例。 set.seed(90) v1=sample(1:3,90,rep=TRUE) v2=sample(3:46,90,rep=TRUE) v3=sample(7:20,90,rep=TRUE) v4=样品(6:12,90,rep=TRUE) v5=样品(5:15,90,rep=TRUE) v6=样品(11:15,90,rep=TRUE) v7=样品(1:18,90, rep=TRUE) 足球=cbind(V1,V2,V3,V4,V5,V6,V7)