希望这不是一个完全愚蠢的问题。我有一个描述df, n = 2228, p = 19
马种特征的数据集5
。我想通过将数据首先分为price
和breed
来将连续变量training
建模为每个test
的其他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)
最佳答案
我想你想做的是
horse_typex <- df %>% filter(breed == typex)
针对每种类型的马,然后将其分为测试和训练集。
如果您希望进行线性回归,则可能要对价格的对数建模,因为它可能会偏斜。
关于r - 插入符:使用train()执行分组回归,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39748533/