0

我在 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 是什么意思?

4

2 回答 2

1

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

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

集群 #0 是 2013 年投票的用户(假设这2意味着他们投票了?)

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

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

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

于 2013-04-28T11:43:03.120 回答
0
//PLEASE EXPLAIN THE FOLLOWING TABLE
Clustered Instances

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

确定了三个集群,0、1 和 2。

  1. 第一个集群包含 136 个数据点,占 477 个数据点总数的 29%。
  2. 第二个集群包含 172 个数据点,占 477 个数据点总数的 36%。
  3. 第三个集群包含 169 个数据点,占 477 个数据点总数的 35%。

这似乎很容易 - 我误解了你的问题吗?

编辑
您发布的输出仅显示使用 k-means 识别的集群。您有三个集群,其质心由第一个表中显示的属性组合给出。

我不确定您所说的“我根据其中一个属性进行预测”是什么意思-该算法将允许您获取未知样本(具有所有属性)并确定它最接近哪个集群。这实际上意味着在您的数据环境之外几乎没有什么意义。k-means 算法会在不同的粒度级别上给出不同数量的聚类,因此它确实是一种用于识别数据中存在但难以通过检查得出的关系的工具。

如果您使用它进行分类,您将首先识别集群,然后为每个集群分配一个分类,然后您可以通过找到最近的集群质心来对传入的样本进行分类。

于 2013-04-28T08:11:17.367 回答