2

クラスター分析(階層クラスター)のグループについて問題があります。例として、これはアヤメのデータセットを完全に連結した樹状図です。

ここに画像の説明を入力

私が使用した後

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

これは出力です:

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

ある統計 Web サイトで、データ内のオブジェクト 1 は常にグループ/クラスター 1 に属することを読みました。上記の出力から、setosaグループ 1に属していることがわかります。では、残りの 2 種についてどうやって知るのでしょうか。どのようにしてグループ 2 または 3 に分類されるのか。おそらく私が知る必要がある計算がありますか?

4

1 に答える 1

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 は、同じ列名と行名を持つ 3 つの異なる種の植物の測定値から作成されます。

> iris.dist <- dist(iris[1:4], "euclidean")
> identical(rownames(iris.dist), colnames(iris.dist))
[1] TRUE

そのオブジェクトは hclust に渡され、ツリーを構築して 3 つに分割します。オブジェクト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 行目から来ていることを意味しますSpeciesvirginica. Cutree はこれを group に割り当て1ます。3 行目を見てみましょう。下order.numに、この項目が 103 行からのものであることがわかります。ここでも、下に移動して 103 行の元の種を確認すると、それは (まだ)virginicaです。他の (ランダムな) 行をチェックして、最初にテーブルを作成する順序が保持されていることを確認してください。したがって、テーブルは正しいはずです。

于 2012-07-15T10:54:04.963 に答える