bugfix> r > 投稿

混合型のデータセットがあるため、 kamila を試してみたかったクラスタリング。簡単に適用できますが、ニープロットと同様にクラスターの数を決定するプロットが欲しいです。

data <- read.csv("binarymat.csv",header=FALSE,sep=";")
conInd <- c(9)
conVars <- data[,conInd]
conVars <- data.frame(scale(conVars))
catVarsFac <- data[,c(1,2,3,4,5,6,7,8)]
catVarsFac[] <- lapply(catVarsFac, factor)
catVarsDum <- dummyCodeFactorDf(catVarsFac)
kamRes <- kamila(conVars, catVarsFac, numClust=5, numInit=10,
            calcNumClust = "ps",numPredStrCvRun = 10, predStrThresh = 0.5)
summary(kamRes)

クラスターの最適な数は5であると言います。どのようにそれを決定し、これを示すプロットを見ることができますか?

回答 1 件
  • kamila  パッケージドキュメント

    Setting calcNumClust to ’ps’ uses the prediction strength method of Tibshirani & Walther (J. of Comp. and Graphical Stats. 14(3), 2005). There is no perfect method for estimating the number of clusters; PS tends to give a smaller number than, say, BIC based methods for large sample sizes.

    その場合、あなたはそれを使用しています、あなたは指定しました唯一  numClust の値 。したがって、実際にクラスターの数を選択しているようには見えません-既に1つを選択しています。

    クラスターの数を選択するには、関心のある範囲を指定する必要があります(例: numClust = 2 : 7 )  また、クラスターの数を選択する方法。

    クラスターの数も選択する場合は、次のようなものが機能する可能性があります。

    kamRes <- kamila(conVars, catVarsFac, numClust = 2 : 7, numInit = 10, 
              calcNumClust = "ps", numPredStrCvRun = 10, predStrThresh = 0.5)
    
    

    クラスターの数の選択に関する情報は、現在 kamRes$nClust 、および plot(2:7, kamRes$nClust$psValues)  あなたが望んでいるものかもしれません。

あなたの答え