目標は、異なるトレーニングデータフレームで複数のロジット回帰を行い、それぞれのテストデータセットのパフォーマンスを評価することです。異なるデータフレームによるループ回帰
まず、df
から複数の(5)ランダムにサンプリングされたデータフレームを作成する:
for(i in 1:5) {
nr <- paste("random_df", i, sep = "_")
assign(nr, random_df[sample(nrow(df)),])
}
そして、我々はtraining-とテストセットに分離するための指標を作成する:我々は今
train <- 1:(length(df$y)*0.8)
test <- !(1:nrow(df) %in% train)
各訓練データフレームにわたってロジット回帰をループさせたい。ここでは最初の問題があります。行列やリストへの出力しか作成できないからです。ここでlapply
for(i in 1:5) {
index <- paste("lr_train", i, sep = "_")
assign(index, lapply(lr_list, function(x) {glm(y ~ x1 + x2, data=x,
subset=train, family=binomial)}))
}
リストを作成します。私たちはループリスト内のすべてのデータフレームの上にロジット回帰は、次に
lr_list <- list(random_df_1,random_df_2,random_df_3,random_df_4,random_df_5)
: は、我々は、代わりに、ランダムなサンプルのリスト、データフレームや行列を作成します各推定結果のマトリクスを算出する。
:目標は、各列車GLMを使用して予測を行い、したがって、異なる試験 - /鉄道データ星座全体でモデルの性能を評価することができるようにするためにglm
オブジェクトの形式で出力を得ることです
lr_test_1 <- predict(lr_train_1, random_df_1[test, ], type="response")
ご協力いただきありがとうございます。
'modelr'パッケージをチェックアウトする必要があります。これは多くのことを楽にしてくれます:https://github.com/tidyverse/modelr –
Thanks @AndrewBrēza「リサンプル」だけでなく、複数の列車とテストでモデルを評価する方法のヒントを教えてください'modelr'パッケージを使って**を設定しますか? – Dima