2016-06-07 22 views
0


我試圖從數據框中構建一個訓練和測試模型。我正在使用隨機森林方法並構建模型。
我的數據框有6列,其中第一列是結果(是/否),其餘5列是獨立變量。我使用所有自變量(結果〜,數據=訓練,方法=「射頻」)建立模型。 我想要做的是嘗試所有可能的自變量組合,並生成一個模型(如col1,col1 + col2,col1 + col2 + col3等..)將有120個組合可能與我的數據幀。
我需要幫助在循環中自動執行此操作,但我無法弄清楚如何將循環放在一起。 在此先感謝。循環訓練數據的循環列值

data <- read.csv("temp.csv", header = TRUE) 
splitdata <- createDataPartition(y=data$var1, p=0.75) 
training <- df[splitdata,] 
testing <- df[-splitdata,] 
no_of_cols <- 2:ncol(training) 
for (i in no_col) 
{ 
    permn (no_of_col) 
    #model <- train(var1 ~ ., data=training, method="rf") 
    model[i] <- train(var1 ~ training[,i], data=training, method="rf")   
    predictions[i] <- predict(model[i],newdata=testing) 
} 

回答

0

我相信所有你需要的是你的for循環速戰速決:

for (i in 1:no_col) 
{ 
    code 
} 
+0

阿里斯蒂德感謝您的建議。我使用了上述修正,現在出現錯誤:使用方法錯誤(「預測」): 沒有適用於'predict'的方法應用於類「character」的對象另外:有29個警告(使用警告()他們) – rkg

+0

好,我們修復了for循環,這很好。與您的其他錯誤,也許這個類似的問題可能會幫助你:http://stackoverflow.com/questions/20346633/prediction-using-saved-model-object –