私はキャレットライブラリを初めて使用しています。列関数を使用して、データセットに対してクロスバリデーションを実行したい(rpartメソッドを使用して分類する)。私の目標は、トレーニングの呼び出しから返されたデータを使用して学習曲線を作成することです。学習曲線は、データセットのサイズをx軸にプロットします。トレーニングセットとクロスバリデーションセットに関する予測の誤差は、データセットサイズの関数としてプロットされます。caret :: trainの出力から学習曲線(バイアス/分散)を作成する方法
私の質問は、キャレットはトレーニングとcvフォールドの両方について予測していますか?答えが「はい」の場合、データを抽出するにはどうすればよいでしょうか?答えを想定し
は、ここでは、イエスであるあなたが説明するために追加することができ、簡単なコードサンプルです:
library(MASS)
data(biopsy)
biopsy <- biopsy[, -1]
names(biopsy) <- c("thick", "u.size", "u.shape", "adhsn", "s.size", "nucl", "chrom", "n.nuc", "mit", "class")
biopsy.v2 <- na.omit(biopsy)
set.seed(1)
ind <- sample(2, nrow(biopsy.v2), replace = TRUE, prob = c(0.7, + 0.3))
biop.train <- biopsy.v2[ind == 1, ]
tr.model <- caret::train(class ~ ., data= biop.train, trControl = trainControl(method="cv", number=4, verboseIter = FALSE, savePredictions = "final"), method='rpart')
#Can I extract train and cv accuracies from tr.model?
感謝。
注:私のデータセットのさまざまなサンプルを列車に繰り返し呼び出す必要があるかもしれないことを認識しています(キャレットはこれもサポートしていないと仮定します)、ここのコードサンプルには反映されません。
感謝を折ります。フォローアップとして、トレーニング折りたたみとクロスバリデーション折りたたみのどちらのリサンプルがどのように決定されたかを知ることができますか? –
喜んで助けてください。 EDITをチェックします。 – missuse
OKだから、tr.model $ pred $ Resampleにはテスト折りたたみ結果が含まれています(そのことを確認してくれてありがとう)。トレーニング結果はどこで確認できますか? –