algorithm - 解释 K-means 的结果

标签 algorithm attributes instance cluster-analysis classification

我在 Weka 中使用分类器和聚类做出一些预测。我知道如何分析分类器的结果,但我不知道像 K-means 这样的聚类的一些结果真正意味着什么。我知道聚类的工作方式不同。要成为更清楚我想具体解释下表格的完整含义//评论:

编辑:我根据其中一个属性进行预测。表中生成的 3 个聚类是否对应于该属性具有的 3 个答案,或者 3 个聚类更随机?我真的可以使用聚类来做出预测?

kMeans  
======

Number of iterations: 9
Within cluster sum of squared errors: 297.46622082142716
Missing values globally replaced with mean/mode

Cluster centroids:
                            Cluster# 
Attribute        Full Data         0         1         2
                     (477)     (136)     (172)     (169)
 =======================================================
Religion            8.6939    7.6691    8.9709    9.2367
Vote_Criterion      2.7736    2.8971    2.4942    2.9586
Sex                 1.4906    1.4559         2         1
DateBirth        1930.7652 1937.5147 1920.2965 1935.9882
Educ                3.2201    3.2721    3.2209    3.1775
Immigrant           1.6415    1.6838    1.5872    1.6627 
Income              2.4675       2.5    2.5523     2.355
Occupation          3.6184    3.8162    3.2907    3.7929
Vote2013                 1         2         1         1




 Time taken to build model (full training data) : 0.06 seconds

=== Model and evaluation on training set ===


   //PLEASE EXPLAIN THE FOLLOWING TABLE
    Clustered Instances

    0       136 ( 29%)
    1      172 ( 36%)
    2      169 ( 35%)

EDIT2:vote2013 是一个投票意向属性,有 3 个值,1,2 和 3 表示 3 个候选人总统。那么,vote2013 中的 1,2 是什么意思?

最佳答案

这是失败的 k-means 的一个很好的例子。

这实际上不是算法的错,而是您在不适合 k-means 的数据上使用它。让我解释一下为您找到的“集群”k-means:

Cluster #0 是在 2013 年投票的用户(假设 2 表示他们投票了?)

在其余实例中,集群 #1 是性别 2(女性?),集群 #2 是性别 1(男性?)。

问题是 k-means 最小化方差。并且根据“性别”和“投票”等二元属性拆分数据会在减少方差方面产生巨大的改进。但它实际上并没有产生任何有用的信息!

永远不要对离散属性使用 k-means。它优化了数学度量 - 平方和 - 这只对连续变量有意义。 p>

关于algorithm - 解释 K-means 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16260911/

相关文章:

java - 如何获取适配器创建的所有 View 的实例?

algorithm - 遗传算法 : How to do crossover in "subset" problems?

ruby-on-rails - 如何在 Rails 中使用带有自定义 setter 方法的 update_attributes?

Python Selenium 'WebDriver' object has no attribute 错误

java - 如何从 Java 中的另一个类获取类的特定实例?

java - 实例与对象 : The unclear debate

python - 为什么以这种方式使用集合在 Python 中生成素数不起作用?

javascript - 当我们需要返回一个值时,为什么我们在递归中需要 "return"?

algorithm - 找到最佳阵列交点

javascript - 添加带有属性的新选择选项