使用K均值对商业信息进行聚类以进行可视化制图

时间:2019-03-05 09:40:58

标签: javascript cluster-analysis data-visualization k-means

我正在尝试对显示给最终用户的小型数据集执行聚类:

[
  [1.76, 81, 5, 0],
  [2.99, 72, 5, 0],
  [11.17, 420, 4.8, 0],
  [1.76, 53, 5, 0],
  [16.73, 3403, 5, 0],
  ... // 20 entries per user
]

列分别为1)零售价,2)已完成的订单,3)评分和4)发货。
我想将这些数据分为几组,以便在JS前端上将其可视化。

我将ecStat用于echarts,它确实可以工作,但结果一直在变化。

[1, 1, 1, 1, 2, 3, 1, 1, 3, 1, 1, 4, 0, 3, 3, 1, 1, 1, 1, 1]
[3, 3, 3, 3, 4, 2, 3, 3, 2, 3, 3, 1, 0, 2, 2, 3, 3, 3, 3, 3]
[3, 3, 3, 3, 4, 2, 3, 3, 2, 3, 3, 1, 0, 2, 2, 3, 3, 3, 3, 3]
[2, 2, 2, 2, 0, 3, 2, 2, 3, 2, 2, 4, 1, 3, 3, 2, 2, 2, 2, 2]

由于我正在使用基于聚类的尺寸/颜色视觉映射,因此我无法正确地对其进行可视化。
像这里一样,我们有3个最便宜的商品,具有最高的绿色评级和最大半径,5个中等价格和淡黄色的商品,8个红色且最小尺寸的商品,等等。

是否有可能在“设置”集群中获得“稳定”结果? 使用k均值和类似工具对价格最低,评分最高,订单数量等的商品进行聚类是否可行?

通常应该如何处理此类任务?任何建议都非常感谢!

1 个答案:

答案 0 :(得分:0)

K均值默认情况下以随机初始化开始。

如果您不想这样做,可以例如

  1. 改为使用稳定的算法
  2. 选择以前的中心作为起点

不稳定(排列除外)结果通常表示次优聚类。 K-均值对规模也很敏感。因此,仅将其用于您那里的数据可能没有任何意义。您需要了解功能,以及如何准备数据以获取有用的结果。