【问题标题】:Clustering for Categorical and Numerical data分类和数值数据的聚类
【发布时间】:2016-02-14 14:19:05
【问题描述】:

我有一组警报,我想根据相似度/距离对其进行分组。由于我们有非数字数据,我该如何对这种数据进行聚类。

  set.seed(42)   
  data.frame(Host1 = rep("del",10), 
  Host2 = c(rep("cpp",4), rep("sscp",3), rep("portal",3)),
 Host3 = c(rep("web",5), rep("apache",3), rep("app",2)), 
 Host4 = c(sample(3,8, replace = TRUE), rep("con",2)), 
 Date1 = abs(round(1:10 + rnorm(10),2))) 



   Host1  Host2  Host3 Host4 Date1
1    del    cpp    web     3  1.40
2    del    cpp    web     3  1.89
3    del    cpp    web     1  4.51
4    del    cpp    web     3  3.91
5    del   sscp    web     2  7.02
6    del   sscp apache     2  5.94
7    del   sscp apache     3  8.30
8    del portal apache     1 10.29
9    del portal    app   con  7.61
10   del portal    app   con  9.72

期待建立集群。

【问题讨论】:

    标签: r cluster-analysis data-manipulation


    【解决方案1】:

    K-means 仅适用于数值(连续)数据

    根据定义,它最小化平方偏差。最小化平方偏差仅对连续数据有意义。任何一种单热编码都只是一种技巧。它使数据类型兼容,但方法不明智。

    你的相似度/距离是多少?

    层次聚类会起作用。如果您可以定义一个量化距离的有意义的距离函数。但是这取决于应用程序。我们没有您的数据,也不了解您的问题。我们无法为您解决这个问题。

    【讨论】:

    • 我知道这个显而易见的事实。这就是为什么我提出这个问题并想知道我们是否可以做一些事情来执行聚类
    • 在您编辑问题之前,您询问了 k-means 是否有效...无论如何,我已经提到 您需要定义什么是相似的。没有办法解决这个问题,它是特定于您的用例的。
    猜你喜欢
    • 2015-07-23
    • 2023-03-24
    • 2020-04-18
    • 2022-06-14
    • 2020-04-14
    • 1970-01-01
    • 2019-07-17
    • 2014-07-24
    • 2018-12-26
    相关资源
    最近更新 更多