私はsiameseネットワークから得たfeat_left, feat_right
という2つの点を持っており、これらの点をx,y
の座標にプロットしました。ここで重心と精度を計算する
Pythonスクリプト
import json
import matplotlib.pyplot as plt
import numpy as np
data = json.load(open('predictions-mnist.txt'))
n=len(data['outputs'].items())
label_list = np.array(range(n))
feat_left = np.random.random((n,2))
count=1
for key,val in data['outputs'].items():
feat = data['outputs'][key]['feat_left']
feat_left[count-1] = feat
key = key.split("/")
key = int(key[6])
label_list[count - 1] = key
count = count + 1
f = plt.figure(figsize=(16,9))
c = ['#ff0000', '#ffff00', '#00ff00', '#00ffff', '#0000ff',
'#ff00ff', '#990000', '#999900', '#009900', '#009999']
for i in range(10):
plt.plot(feat_left[label_list==i,0].flatten(), feat_left[label_list==i,1].flatten(), '.', c=c[i])
plt.legend(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])
plt.grid()
plt.show()
は今、私はcentriodし、各クラスタの純度を計算したいです。
クラスタの精度をどのように定義しますか? – Shai
モジュール「sklearn.cluster」によって提供されるk-means(k = 10)を使用したり、別の[クラスタリング方法](http://scikit-learn.org/stable/modules/clustering.html)で一見できます' – Nuageux
私はこの記事[クラスタリングの評価](https://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html)に従っています@Shai – cpwah