2 つの教師なしアルゴリズムを同じデータに適用し、結果から混同行列を作成したいのですが、 Rでどのように達成すればよいですか?
次のような R コードの例:
xx.1 <- c(41, 0, 4, 0, 0, 0, 0, 0, 0, 7, 0, 11, 8, 0, 0, 0, 0, 0, 3, 0, 0, 1, 1, 0, 4)
xx.2 <- matrix(xx.1, nrow = 5)
rownames(xx.2) <- paste("Algo1", 1:5, sep = "_")
colnames(xx.2) <- paste("Algo2", 1:5, sep = "_")
xx.2
xx.2 は 2 つのアルゴリズムの予測結果です。数値は、Algo1_X と Algo2_X として分類される観測の数を示しています。
Algo2_1 Algo2_2 Algo2_3 Algo2_4 Algo2_5
Algo1_1 41 0 0 0 0
Algo1_2 0 0 11 0 1
Algo1_3 4 0 8 0 1
Algo1_4 0 0 0 3 0
Algo1_5 0 7 0 0 4
問題は、Algo1 の結果を参照として使用して、混同マトリックスを取得するためにマトリックスを再配置するにはどうすればよいかということです。2 つの質問があります。
2つのアルゴリズム間の対応を決定します。つまり、最も類似した分類をペアにする必要があると私が考える方法です。
ダイアログ行が最大の交差値を持つように、マトリックスが再配置されます。
ここで、Algo2_1 と Algo1_1 は最大の交差値を持ち、それらはペアです。次に、Algo1_2 と Algo2_3 は左の列/行に 2 番目に大きい値を持つため、ペアになる必要があるため、Algo2_3 を 2 番目の列に移動する必要があります。
Rで簡単に行うにはどうすればよいですか?または、この目的のために利用可能なパッケージはありますか?
ありがとう!