群集上的线性回归

时间:2017-07-24 16:59:16

标签: r loops linear-regression k-means

我有10 k表示来自数据集的集群。我想分别建立所有这些集群的线性回归模型。 即。我想要10个线性回归模型。我怎么能用R

中的循环来做到这一点

1 个答案:

答案 0 :(得分:0)

我得到了答案。 这就是我真正想要的。 这段代码基本上来自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个模型预测我的测试集。 怎么做呢