2016-07-20 4 views
1

でデータパーティションの作成:我々は使用し、75%の研修と25%のテストデータパーティションを作成する際に、<code>caret</code>パッケージでR

inTrain<- createDataPartition(y=spam$type,p=0.75, list=FALSE) 

注:データセットはspamという名前の変数を対象とされるがtype

命名されました私の質問は、y=spam$type引数を含める目的は何ですか?

訓練とテストの両方に必要な割合に基づいてデータセット全体を分割するだけの目的はありませんか?その引数をコードに含める必要があるのはなぜですか?

+0

100%ではありませんが、これは単にデータをどのような変数で区切ってコマンドを伝えるのかと思います。どのようにパーティション化するかを明確にすることを除いては、コンピュータが理解しやすくなること以外は重要ではないと確信しています –

+0

「createDataPartition」という関数はどこで手に入りましたか? 'str(inTrain)'の出力は何ですか? – aichao

+0

@ a.powell "どの変数を使ってデータを分割しているのかを教えてください"とはどういう意味ですか?パーティション化についての私の理解は、単純にデータ全体を分割することです。なぜ私はこの段階で "タイプ"が私の目標変数であるという事実を引き起こすべきですか?私は概念的にデータ分割のアイデアを誤解していますか? – Aiden

答えて

4

私は、問題のcreateDataPartition()がキャレットパッケージを参照していると想定しています。

引数が一般的な要因である場合、ランダムサンプリングは各クラス内で発生します。

さらに詳しい説明:たとえば、あなたの質問と同じ割合でirisデータセットを分割するとします。

attach(iris) 
summary(iris) 

各種に番号が付いています。

library(caret) 
inTrain <- createDataPartition(y=Species, p=0.75, list=FALSE) 

inTrainは、それぞれの種から約75%の行を取ると、次のコマンドを発行して確認することができます:ここで、次のコマンドを使用して

summary(iris[inTrain,]) 

は、各カテゴリの50種がありますが、と38(約75%)が訓練データセットのためにランダムに選択されている。

+0

はい、私はキャレットパッケージを参照しています。 sample $ typeは、後で線形モデルを構築した後に予測したい目標変数です。 「ランダムサンプリングは各クラス内で行われますか?」とはどういう意味ですか? – Aiden

+0

私は答えにさらなる説明を追加しました。異なる値の 'p'を選択することで簡単に理解できます。 0.5に設定し、トレーニングセットのために選択された行の数を調べます。 –

関連する問題

 関連する問題