正在加载图片...
·306· 智能系统学报 第11卷 1.0r 4.2利用p-vaue决定数据集簇的数目k 0.9 很多聚类算法需要预先设定划分数目k。本文 研究了p-value与k的关系。对于同一数据集,选择 0.8 不同的k用k-means分别聚类,然后计算对应的p- 0.7 vaue。计算结果如表2。 0.6 。° % 从表2中看出随着k的增加,p-value的值变 0.5 小。因为k越大,对数据集划分得越细,同一个簇内 0.4 ×103 0 2 的元素就会越相似,p-value自然就会越小。然而 p-value 划分的越细并不意味着就一定越好。举个极端的例 (b)p-value与accuracy的关系 子,将一个数据量为n的数据集划分成n个簇是毫 图2Wine数据集p-value与∫score和accuracy的关系 Fig.2 The relationship between p-value and f-score, 无意义的。 accuracy of wine dataset 本文研究了一种利用p-value的变化幅度来确 2.6 定k的新方法。这里给出一个定义: R(i)=P(i-1) 2.2 p() 20 式中:p(i-1)是当k取i-1时聚类结果的p-val 00 ue,p(i)是当k取i时的聚类结果的p-value。R(i) 1.6 w。 的意义是当k增加I时p-value的变化幅度。将表 1.4 000 2的结果按照公式计算的结果如表3。 ×10H 0 2 4 6 8 由实验结果可以看出,对于iis数据集,当k取 p-value 3的时候,R(3)=2.538900最大。事实上iis的类 (a)p-value与f-score的关系 0.54 别数目就是3。接着看wine数据集,当i取3的时 B 0.53 候R(3)=97.836510最大。真实情况wine的类别 0.52 数目就是3。对于yeast数据集当i取4的时候 0.51 R(4)=14.991890最大,以此来确定簇的数目为4。 而事实上yeast的类别数目就是4。 0.49 利用本文提出的定义能正确算出数据集中的簇 0.48 0.47 。。。°。 数目k。因此可以说明计算聚类的p-value对于确 ×10时 4 6 定聚类数目k也是有一定意义的。不过对于R() p-value 这个定义还存在一定的问题。根据R的定义,i的 (b)p-value与accuracy的关系 图3 Yeast数据集p-value与f-score和accuracy的关系 取值不小于3。因此对于簇数目为2的情况还不能 Fig.3 The relationship between p-value and f-score, 够做出合适的处理。 accuracy of yeast dataset 表2不同k下的p -value Table 2 The p-value of clusters for differentk 数据 2 3 4 5 6 7 Iris 0.108518 0.042742 0.020435 0.017261 0.006991 0.003208 Wine 0.001946 1.988773e-05 7.579904e-07 2.381891e-08 2.125773e-09 1.537855e-09 Yeast 0.006911 0.001040 6.937873e-05 9.647412e-06 1.327582e-06 3.264579e-06 表3不同k下的R(k) Table 3 The R(k)of clusters for differentk 数据 3 4 5 6 Iris 2.538900 2.091640 1.183870 2.469150 2.179010 Wine 97.836510 26.237440 31.823050 11.204820 1.382300 Yeast 6.644860 14.991890 7.191430 7.266900 0.406660(b)p⁃value 与 accuracy 的关系 图 2 Wine 数据集 p⁃value 与 f⁃score 和 accuracy 的关系 Fig.2 The relationship between p ⁃value and f⁃score, accuracy of wine dataset (a)p⁃value 与 f⁃score 的关系 (b)p⁃value 与 accuracy 的关系 图 3 Yeast 数据集 p⁃value 与 f⁃score 和 accuracy 的关系 Fig.3 The relationship between p⁃value and f⁃score, accuracy of yeast dataset 4.2 利用 p ⁃value 决定数据集簇的数目 k 很多聚类算法需要预先设定划分数目 k。 本文 研究了 p ⁃value 与 k 的关系。 对于同一数据集,选择 不同的 k 用 k⁃means 分别聚类,然后计算对应的 p ⁃ value。 计算结果如表 2。 从表 2 中看出随着 k 的增加, p ⁃value 的值变 小。 因为 k 越大,对数据集划分得越细,同一个簇内 的元素就会越相似, p ⁃value 自然就会越小。 然而 划分的越细并不意味着就一定越好。 举个极端的例 子,将一个数据量为 n 的数据集划分成 n 个簇是毫 无意义的。 本文研究了一种利用 p ⁃value 的变化幅度来确 定 k 的新方法。 这里给出一个定义: R(i) = p(i - 1) p(i) , 式中:p( i-1)是当 k 取 i – 1 时聚类结果的 p ⁃val⁃ ue,p (i)是当 k 取 i 时的聚类结果的 p ⁃value。 R(i) 的意义是当 k 增加 1 时 p ⁃value 的变化幅度。 将表 2 的结果按照公式计算的结果如表 3。 由实验结果可以看出,对于 iris 数据集,当 k 取 3 的时候,R(3) = 2.538 900 最大。 事实上 iris 的类 别数目就是 3。 接着看 wine 数据集,当 i 取 3 的时 候 R(3)= 97.836 510 最大。 真实情况 wine 的类别 数目就是 3。 对于 yeast 数据集当 i 取 4 的时候 R(4)= 14.991 890 最大,以此来确定簇的数目为 4。 而事实上 yeast 的类别数目就是 4。 利用本文提出的定义能正确算出数据集中的簇 数目 k。 因此可以说明计算聚类的 p ⁃value 对于确 定聚类数目 k 也是有一定意义的。 不过对于 R( i) 这个定义还存在一定的问题。 根据 R 的定义,i 的 取值不小于 3。 因此对于簇数目为 2 的情况还不能 够做出合适的处理。 表 2 不同 k 下的 p ⁃value Table 2 The p ⁃value of clusters for differentk 数据 2 3 4 5 6 7 Iris 0.108 518 0.042 742 0.020 435 0.017 261 0.006 991 0.003 208 Wine 0.001 946 1.988 773e⁃05 7.579 904e⁃07 2.381 891e⁃08 2.125 773e⁃09 1.537 855e⁃09 Yeast 0.006 911 0.001 040 6.937 873e⁃05 9.647 412e⁃06 1.327 582e⁃06 3.264 579e⁃06 表 3 不同 k 下的 R(k) Table 3 The R(k) of clusters for differentk 数据 3 4 5 6 7 Iris 2.538 900 2.091 640 1.183 870 2.469 150 2.179 010 Wine 97.836 510 26.237 440 31.823 050 11.204 820 1.382 300 Yeast 6.644 860 14.991 890 7.191 430 7.266 900 0.406 660 ·306· 智 能 系 统 学 报 第 11 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有