2017-11-17 2 views
0

スペクトルクラスタリングを使用した後、新しいリオーダーマトリックス(アフィニティマトリックス)を確認するにはどうすればよいですか?どのように印刷しますか?スペクトルクラスタリングでフィッティングした後、並べ替えられたアフィニティマトリックスをプリントアウトするには?

+1

は、入力行列を提供し、私たちにあなたがしようとしたコードを示しています。これを使用して質問をしてください:[最小、完全、および検証可能な例](https://stackoverflow.com/help/mcve) – skrubber

+0

@John Smith私の答えをご覧ください – sera

答えて

-1

アフィニティマトリクスにアクセスした後には、スペクトルクラスタリングを使用すると簡単にアクセスできます。アイリスデータを使用して

例:

from sklearn.datasets import load_iris 
from sklearn.cluster import SpectralClustering 

#load data 
data = load_iris() 
x = data.data 
y = data.target 

#define model and fit data 
model = SpectralClustering(n_clusters = 4, random_state = 0) 
model.fit(x,y) 

#get the Affinity matrix used for clustering 
print(model.affinity_matrix_) 
print(model.affinity_matrix_.shape) 

#get the Labels of each point 
print(model.labels_) 

結果

#Affinity matrix 

[[ 1.00000000e+00 7.48263568e-01 7.71051586e-01 ..., 2.30082059e-09 
    4.03840951e-10 3.59908895e-08] 
[ 7.48263568e-01 1.00000000e+00 9.13931185e-01 ..., 1.62136087e-09 
    2.15082380e-10 3.22418674e-08] 
[ 7.71051586e-01 9.13931185e-01 1.00000000e+00 ..., 3.65410404e-10 
    6.16221335e-11 9.42405852e-09] 
..., 
[ 2.30082059e-09 1.62136087e-09 3.65410404e-10 ..., 1.00000000e+00 
    6.83861409e-01 6.63650250e-01] 
[ 4.03840951e-10 2.15082380e-10 6.16221335e-11 ..., 6.83861409e-01 
    1.00000000e+00 5.54327285e-01] 
[ 3.59908895e-08 3.22418674e-08 9.42405852e-09 ..., 6.63650250e-01 
    5.54327285e-01 1.00000000e+00]] 


(150, 150) 

#Labels 

[2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 3 1 3 1 3 1 3 3 3 3 1 3 1 3 3 1 3 1 3 1 1 
1 1 1 1 1 3 3 3 3 1 3 1 1 3 3 3 3 1 3 3 3 3 3 3 3 3 0 1 0 1 0 0 3 0 0 0 1 
1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 
1 1] 
関連する問題