R で createdatapartition() 関数を使用する方法


R のキャレットパッケージのcreateDataPartition()関数を使用して、モデル構築のためにデータ フレームをトレーニング セットとテスト セットに分割できます。

この関数は次の基本構文を使用します。

createDataPartition(y, 回 = 1, p = 0.5, リスト = TRUE, …)

金:

  • y : 結果のベクトル
  • : 作成するパーティションの数
  • p : トレーニングセットで使用するデータの割合
  • list : 結果をリストに保存するかどうか

次の例は、この関数を実際に使用する方法を示しています。

例: R での createDataPartition() の使用

R に、学生の勉強時間と最終試験の対応するスコアに関する情報を含む 1,000 行のデータ フレームがあるとします。

 #make this example reproducible
set. seeds (0)

#create data frame
df <- data. frame (hours=runif(1000, min=0, max=10),
                 score=runif(1000, min=40, max=100))

#view head of data frame
head(df)

     hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
6 2.016819 47.10139

最終試験の成績を予測するために学習時間を使用する単純な線形回帰モデルを当てはめたいとします。

データ フレーム内の行の 80% でモデルをトレーニングし、残りの 20% の行でテストするとします。

次のコードは、キャレットパッケージのcreateDataPartition()関数を使用して、データ フレームをトレーニング セットとテスト セットに分割する方法を示しています。

 library (caret)

#partition data frame into training and testing sets
train_indices <- createDataPartition(df$score, times= 1 , p= .8 , list= FALSE )

#create training set
df_train <- df[train_indices, ]

#create testing set
df_test <- df[-train_indices, ]

#view number of rows in each set
nrow(df_train)

[1] 800

nrow(df_test)

[1] 200

トレーニング データセットには、元のデータセットの 80% に相当する 800 行が含まれていることがわかります。

同様に、テスト データセットには 200 行が含まれており、これは元のデータセットの 20% に相当します。

各セットの最初の行を視覚化することもできます。

 #view head of training set
head(df_train)

     hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
7 8.983897 42.34600

#view head of testing set
head(df_test)

      hours score
6 2.016819 47.10139
12 2.059746 96.67170
18 7.176185 92.61150
23 2.121425 89.17611
24 6.516738 50.47970
25 1.255551 90.58483

次に、トレーニング セットを使用して回帰モデルのトレーニングを開始し、テスト セットを使用してそのパフォーマンスを評価します。

追加リソース

次のチュートリアルでは、R の他の一般的な関数の使用方法について説明します。

R で K-Fold 相互検証を実行する方法
R で重回帰を実行する方法
R でロジスティック回帰を実行する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です