1

データマトリックスを1000回並べ替え(列単位のみ)、「R」で階層クラスタリングを実行しようとしているため、1000回のランダム化後にデータに最終的なツリーが作成されます。これは私が迷っているところです。私はこのループを持っています

    for(i in 1:1000) 
    { 
    permuted <- test2_matrix[,sample(ncol(test2_matrix), 12, replace=TRUE)]; (this permutes my columns)
    d = dist(permuted, method = "euclidean", diag = FALSE, upper = FALSE, p = 2);
    clust = hclust(d, method = "complete", members=NULL);
    } 
    png (filename="cluster_dendrogram_bootstrap.png", width=1024, height=1024, pointsize=10) 
    plot(clust)

最終的なツリーが 1000 回のランダム化の後の積なのか、それともループで計算された最後のツリーなのかはわかりません。また、ツリーにブートストラップ値を表示したい場合、どうすればよいですか?

どうもありがとう!!

4

2 に答える 2

1

あなたの例の値はclust、実際にはループで計算された最終的なツリーです。行列の 1000 個の順列を作成して保存する方法は次のとおりです。

make.permuted.clust <- function(i){ # this argument is not used
  permuted <- data.matrix[,sample(ncol(data.matrix), 12, replace=TRUE)]
  d <- dist(permuted, method = "euclidean", diag = FALSE, upper = FALSE, p = 2)
  clust <- hclust(d, method = "complete", members=NULL)
  clust # return value
}

all.clust <- lapply(1:1000, make.permuted.clust) # 1000 hclust trees

質問の 2 番目の部分は、ここで回答する必要があります。

于 2012-04-17T11:24:03.357 に答える
0

randomForest パッケージに実装されている RandomForest メソッドに興味があるかもしれません。このメソッドは、データと分割変数の両方のブートストラップを実装し、ツリーを保存してコンセンサス ツリーを取得できるようにします。

library(randomForest)

元のランダム フォレスト (FORTRAN 77) 開発者サイト

パッケージマニュアル

于 2012-04-17T12:52:46.290 に答える