gpt4 book ai didi

r - 如何在聚类分析(分层)中了解码信息?

转载 作者:行者123 更新时间:2023-12-04 05:39:14 28 4
gpt4 key购买 nike

我有关于 的问题群 在聚类分析(层次聚类)中。例如,这是 的完全链式的树状图。虹膜数据集 .

enter image description here

我使用后

> table(cutree(hc, 3), iris$Species)

这是 输出 :
  setosa versicolor virginica
1 50 0 0
2 0 23 49
3 0 27 1

我在一个统计网站上看到,数据中的对象1总是属于组/集群1。从上面的输出我们知道 setosa 第 1 组 .然后,我将如何了解其他两个物种。他们是如何归入第 2 组或第 3 组的。它是如何发生的。也许我需要知道一个计算?

最佳答案

我猜您正在使用它来创建目前似乎不存在的图像。

> lmbjck <- cutree(hclust(dist(iris[1:4], "euclidean")), 3)
> table(lmbjck, iris$Species)

lmbjck setosa versicolor virginica
1 50 0 0
2 0 23 49
3 0 27 1

Dist 是根据来自三个不同物种的植物的测量值创建的,这些植物具有相同的列和行名称。
> iris.dist <- dist(iris[1:4], "euclidean")
> identical(rownames(iris.dist), colnames(iris.dist))
[1] TRUE

该对象被传递给 hclust,后者构建一棵树并将其切成三块。对象 iris.order保存绘制树状图的顺序。保留原始顺序,根据此顺序绘制树。
> iris.hclust <- hclust(iris.dist)
> iris.cutree <- cutree(iris.hclust, 3)
> iris.order <- iris.hclust$order

这是证据。我整理了原版 Species名称,有序物种名称,因为它们可以在树状图中看到,顺序号和来自可爱树函数的组。
> data.frame(original = iris$Species, ordered = iris$Species[iris.order],
order.num = iris.order, cutree = iris.cutree)

original ordered order.num cutree
1 setosa virginica 108 1
2 setosa virginica 131 1
3 setosa virginica 103 1
4 setosa virginica 126 1
5 setosa virginica 130 1
6 setosa virginica 119 1
...
103 virginica setosa 31 2
104 virginica setosa 26 2
105 virginica setosa 10 2
106 virginica setosa 35 2
107 virginica setosa 13 3
108 virginica setosa 2 2
...

让我们看看输出。如果你看第一行,在 order.num 下有数字 108。这意味着该项目(树状图左侧的第一个项目)来自第 108 行。向下浏览到第 108 行,您可以看到原始 Species确实是 virginica . Cutree 将此分配给组 1 .让我们看看第 3 行。在 order.num 下您可以看到该项目来自第 103 行。同样,如果您向下查看第 103 行中的原始物种,它是(仍然) virginica .我会做一个练习,让您检查其他(随机)行并说服自己在开始时构建表的顺序是保留的。因此,表格应该是正确的。

关于r - 如何在聚类分析(分层)中了解码信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11489696/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com