caret
パッケージでは、75%のトレーニングと25%のテストのデータパーティションを作成するときに、次のものを使用します。
inTrain<- createDataPartition(y=spam$type,p=0.75, list=FALSE)
注:データセットの名前はspam
で、ターゲット変数の名前はtype
です。
私の質問は、y=spam$type
引数を含める目的は何ですか?
データパーティションを作成する目的は、トレーニングとテストに必要な比率に基づいてデータセット全体を分割することだけではありませんか?その引数をコードに含める必要があるのはなぜですか?
問題のcreateDataPartition()
はキャレットパッケージを参照していると思います。
sample$type
引数が一般的に当てはまる要因である場合、ランダムサンプリングは各クラス内で発生します。
もう少し説明:たとえば、質問と同じ比率でiris
データセットを分割する場合。
attach(iris)
summary(iris)
各種に対する数に注意してください。次のコマンドを使用します。
library(caret)
inTrain <- createDataPartition(y=Species, p=0.75, list=FALSE)
inTrainは、各種から約75%の行を取得します。これは、次のコマンドを発行することで確認できます。
summary(iris[inTrain,])
各カテゴリーには50種があり、トレーニングデータセットには38種(約75%)がランダムに選択されています。