2017-08-26 17 views
0

私はrでDTWCLUSTパッケージを使用しています。ここに私のコードです。DTWCLUSTライブラリのCentroidをRで計算する

library(dtwclust) 
sc1 <- read.table("D:/handling data/confirm4.csv", header=T, sep=",") 
hc_sbd <- dtwclust(sc1, type = 'h', k=5L, method = 'ward.D', preproc = zscore, 
       distance = 'dtw', control = list(trace=TRUE)) 
clusters <- cutree(hc_sbd,6) 
head(clusters) 
result <- cbind.data.frame(sc1,clusters) 
plot(hc_sbd, type='centroids', clus=1) + ylim(-3, 3) + scale_x_continuous(breaks = c(1,6,12,18,24,30,36,42), labels= real_label) 

plot(hc_sbd, type='centroids', clus=1) + ylim(-3, 3) + scale_x_continuous(breaks = c(1,6,12,18,24,30,36,42), labels= real_label)を実行したときにプロトタイプがプロットされました。 しかし、重心がPAMによってどのように計算されるのか分かりませんが、これはデフォルトオプションです。誰も私がcentroidsをobtaionにPAMの概念を理解するのを助けることができますか? ありがとうございます。

+0

https://en.wikipedia.org/wiki/K-medoids –

+2

私は閉じるために投票していますこの質問は、アルゴリズムの内部についてだが実装ではないので、話題にはならない。 –

答えて

1

パッケージの実装では、データからの kシリーズが最初の重心としてランダムに選択されます。 次に、すべての系列と重心との間の距離は (または事前計算された場合は距離行列全体から検索されます)、 となり、各系列は最も近い重心のクラスタに割り当てられます。 作成された各クラスタについて、 (必要に応じて)すべてのメンバシリーズ間の距離が計算され、 となり、距離の最小合計を持つシリーズが新しい重心として選択されます。 これは、一連のクラスタが変更されなくなるまで、繰り返し実行されます( または許可された反復の最大回数を超えました)。

Here's the code

(あなたがdtwclustバージョン4.0.0以上を使用している場合は、tsclust機能を使用する必要があります)

+0

優秀!!ありがとう~~あなたは素晴らしい男です〜 –