Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TokyoR#60 クラスタ分析におけるクラスタ数の決め方

bob3bob3
January 12, 2022

TokyoR#60 クラスタ分析におけるクラスタ数の決め方

クラスタ分析におけるクラスタ数の決め方。
2017年4月。

bob3bob3

January 12, 2022
Tweet

More Decks by bob3bob3

Other Decks in Programming

Transcript

  1. {cclust}パッケージのclustIndex() • clustIndex() は cclust() でクラスタリングした結果に対して指標値を返す。 • 15種の指標を返すが、calinski(疑似F統計量)がおすすめ。 library(cclust) DAT

    <- as.matrix(iris[,-5]) MAX <- 10 res <- data.frame(matrix(0,MAX,15)) for (i in 2:MAX){ clust <- cclust(DAT, i) temp <- clustIndex(clust, DAT) if(i==2) colnames(res) <- names(temp) res[i,] <- temp } plot(res$calinski, type="b")
  2. {vegan} パッケージの cascadeKM() • cascadeKM() は calinski に基づいて最適と考えられるクラスタリング結果を返す。 library(vegan) #

    試行するクラスタ数の最小数と最大数を与える # デフォルトは calinski だが ssi も使える res <- cascadeKM(iris[,-5], 2, 10) best <- plot(res) best$x[,best$best.grps]