【问题标题】:Linear Regression over clusters集群上的线性回归
【发布时间】:2017-07-24 16:59:15
【问题描述】:

我有 10 k 表示来自数据集的集群。我想分别用所有这些集群建立线性回归模型。 IE。我想要 10 个线性回归模型。我如何使用 R 中的循环来做到这一点

【问题讨论】:

  • 带循环。 (严肃:你试过什么?)
  • lapply(split(train, cluster), lm, formula = price ~.) 请查看minimal reproducible example
  • 感谢@G.Grothendieck

标签: r loops linear-regression k-means


【解决方案1】:

我得到了答案。 这是我真正想要的。 这段代码基本上来自 Hadley Wikham 的 github 帖子“Managing multiple models”

house.cluster <- kmeans(scale(house), 10, 50)
house$cluster <- house.cluster$cluster

by_cluster <- train %>%
  group_by(cluster) %>%
  nest()


cluster_model <- function(df) {
  lm(price ~., data = df)
}

models <- by_cluster %>%
  mutate(
    model  = data %>% map(cluster_model)
  )


models <- models %>%
  mutate(
    glance  = model %>% map(broom::glance),
    rsq     = glance %>% map_dbl("r.squared")
  )

现在我想用这 10 个模型预测我的测试集。 这是怎么做到的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-08
    • 2013-03-15
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    相关资源
    最近更新 更多