これは完全にばかげた質問ではありません。私は5
馬の品種の特性を記述するデータセットdf, n = 2228, p = 19
を持っています。最初にデータをtraining
とtest
に分割することによって、という連続変数を、それぞれbreed
の他の17個の予測変数(カテゴリと連続の混在さえも含む)の関数としてモデル化したいと思います。キャレット:列車でグループ化された回帰を実行する
library(tidyverse)
library(caret)
library(glmnet)
# pre- processing reveals no undo correlation, linear dependency or near
# zero variance veriables
train <- df %>% group_by(breed) %>% sample_frac(size = 2/3) %>% droplevels()
test <- anti_join(df, train) %>% droplevels()
# I imagine I should be somehow able to do this in the following step but can't
# figure it out
model <- train(price ~ ., data = train, method = "glmnet")
test$pred <- predict(model, newdata = test)
は、私の知る限り、私は(上記のコードを参照してください)breed
でデータを分割全く問題がありません。しかし、私はbreed
でグループ化されたモデルをどのようにフィットさせるのか分かりません。私は何をしたいことはnlme
すなわちlmList(price ~ . |breed, data = df)
コードは妥当なようですが、あなたの質問は何ですか?トレーニング/テストの分割を処理するために設計されたキャレットで 'createDataPartition()'をチェックアウトしてください。 – Nate
@NathanDay申し訳ありません、明確な質問 – user6571411
gotcha、私はキャレット付き複数のグループのためのオンザフライでトレーニングを行う方法がわかりません。あなたはいつでも 'split'と' lapply'を使ってそれを突き抜けることができますが、ここにいる誰かがよりクリーンなソリューションを提供できると確信しています – Nate