2017-07-05 40 views
2

以下のコードをキャレットで実行しようとしましたが、エラーが発生しました。だれかがトラブルシューティングの方法を教えてもらえますか? [.data.frameキャレット:未定義の列が選択されました

エラー(データ、LVLSは、[1]):未定義の列には、あなたがあなたのコントロール機能でclassProbs = TRUEを使用する必要が

library(tidyverse) 
library(caret) 

mydf <- iris 

mydf <- mydf %>% 
    mutate(tgt = as.factor(ifelse(Species == 'setosa','Y','N'))) %>% 
    select(everything(), -Species) 

trainIndex <- createDataPartition(mydf$tgt, p = 0.75, times = 1, list = FALSE) 
train <- mydf[trainIndex,] 
test <- mydf[-trainIndex,] 

fitControl <- trainControl(method = 'repeatedcv', 
         number = 10, 
         repeats = 10, 
         allowParallel = TRUE, 
         summaryFunction = twoClassSummary) 

fit_log <- train(tgt~., 
      data = train, 
      method = "glm", 
      trControl = fitControl, 
      family = "binomial") 
+0

あなたの問題のように見えるのは、 'train'はトレーニングセットのデータと' caret'関数の両方を指しているということです。あなたがまだ問題があるかどうかを確認してください。 – CPak

+0

こんにちは、コードの 'train'と' test'部分を 'mytrain'と' mytest'に変更しましたが、同じエラーが続きます –

+0

'fitControl 'が原因でエラーが発生しています。それが何をしているのかわからないので、私はそこにあなたを助けることはできませんが、それはあなたを始めなければなりません。 – CPak

答えて

5

を選択しました。 ROC曲線はクラス確率に基づいており、エラーはそれらの列を見つけられないサマリー関数です。

関連する問題