系統的クラスタリングによる飲料の分類 -- R に基づく

       既存の 16 種類の飲料のカロリー、カフェイン含有量、ナトリウム含有量、および価格のデータを下の表に示します。16 種類の飲料は、これら 4 つの変数に従ってクラスター化されます (この質問は、放課後の R 演習に基づく多変量統計分析から得られます)。

        クラスタリングにはシステマティック クラスタリングの最小距離法が使用され、R プログラムは次のようになります。

# 系统聚类法
library(mclust)
ex4.2<-read.csv("ex4.2.csv",header = T)
d4.2=ex4.2[,-1] #ex4.5.csv的第一列为序号,先去掉
rownames(d4.5)=ex4.5[,1] #用ex4.2的第一列为d4.2的行重新命名
d<-dist(d4.2,method = "euclidean",diag = T,upper = F,p=2)
#采用欧氏距离计算距离矩阵d,diag设定是否输出对角线上值
#upper设定是否输出d的上三角部分值,p为明式距离参数k
HC<-hclust(d,method = "single") #采用最小距离法聚类
plot(HC,hang=-1) #绘制最小距离法聚类树状图
#当hang取负值时,从底部对齐开始绘制聚类树状图

abline(h=30);abline(h=20)

      16 種類の飲料のクラスター樹形図は次のとおりです。

      合計距離が 30 の場合、16 種類の飲料は 2 つのカテゴリに分類でき、合計距離が 20 の場合、16 種類の飲料は 4 つのカテゴリに分類できることがわかります。

     サンプルのクラスタリングに最大距離法を使用し、サンプル間の測定にユークリッド距離法を使用すると、クラスタリングの結果は最小距離法の結果と同じになりますが、マージされた距離が異なるため、行きません。詳細はこちら。

      関数 rect.hclust() を使用して、デンドログラムに従って最終的な分類を決定することもできます. 分類の数が 3 の場合、R プログラムは次のようになります。

rect.hclust(HC,k=3)

      クラスター樹状図は次のとおりです。

       R では、関数 cutree() を使用して、hclust() 関数クラスタリングの結果を枝刈りすることもできます.3 つのカテゴリ、k=3 を設定すると、R プログラムは次のようになります。

cutree(HC,k=3)

 

 

       出力結果は、16 種類の飲料を 3 つのカテゴリに分類できることを示しています。これらのカテゴリは、それぞれ 1、2、および 3 に対応する位置 {1, 10}、{2, 3、4、5、6、8、9、 11、12、13、14、15、16}および{7}。

おすすめ

転載: blog.csdn.net/weixin_44734502/article/details/129322439