【问题标题】:k means clustering result storing for later usek 表示聚类结果存储以备后用
【发布时间】:2015-05-16 02:58:06
【问题描述】:

我正在探索 r 编程环境以对我的测试数据执行聚类分析。为了进行测试,我使用了一个单列数据集,其中包含以下散点图和针对值索引绘制的直方图。

从数据中我觉得这些值可以分为 7 个集群。而当我使用 kmeans 函数且没有 clusters 参数为 7 时,我得到以下结果。

Within cluster sum of squares by cluster: [1] 492.480 2979.013 1903.396 18682.262 1430.533 754221.504 (between_SS / total_SS = 98.3 %)

现在我的疑问是如何存储这个结果(不一定在 r) 以便当我得到一个新数据集时 我应该能够比较 i/p已存储聚类结果的数据集。我应该能够将 i/p 数据集值划分到已知的集群中。

【问题讨论】:

  • 您为什么要尝试“聚类”已经存在 7 个离散值的数据??
  • @SeñorO 八实际上 ;-) 但我同意所提供的示例并不是很有帮助。
  • 传感器这是一个测试数据集。真实数据会更密集。
  • 如果您的目的是使用 kmeans 验证集群的稳定性,我建议使用 clValid 包(请参阅文档)
  • 你也可以试试 mlr 包,见the tutorial

标签: r cluster-analysis k-means


【解决方案1】:

如何处理kmeans 对象并不是很明显。最简单的方法是将其附加到您的数据框:

 k = kmeans(data, centers = 7)
 data = k$cluster

现在您将集群编号作为 data.frame 中的一列。保存,但是你会保存一个 data.frame。

【讨论】:

    【解决方案2】:

    检查help(kmeans) 部分。中心会告诉你平均值的中心在哪里。对于传入的数据,计算它最接近哪个中心。示例:

    data(mtcars)
    mt.k <- kmeans(mtcars, centers = 4)
    mt.k$centers
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-10
      • 2016-08-12
      • 2016-09-06
      • 2015-12-20
      • 2015-02-27
      • 2013-03-14
      • 2017-10-15
      相关资源
      最近更新 更多