XLearning-SCU / 2019-ICML-COMIC

COMIC: Multi-view Clustering Without Parameter Selection, International Conference on Machine Learning (ICML’19)
MIT License
34 stars 19 forks source link

How to calculate Accuracy? #2

Open dugzzuli opened 3 years ago

dugzzuli commented 3 years ago

How to calculate Accuracy?

m22453 commented 3 years ago

You can get acc in this way

def acc_(y_true, y_pred): """ Calculate clustering accuracy. Require scikit-learn installed

# Arguments
    y: true labels, numpy.array with shape `(n_samples,)`
    y_pred: predicted labels, numpy.array with shape `(n_samples,)`

# Return
    accuracy, in [0,1]
"""
y_true = y_true.astype(np.int64)
assert y_pred.size == y_true.size
D = max(y_pred.max(), y_true.max()) + 1
w = np.zeros((D, D), dtype=np.int64)
for i in range(y_pred.size):
    w[y_pred[i], y_true[i]] += 1
from sklearn.utils.linear_assignment_ import linear_assignment
ind = linear_assignment(w.max() - w)
return sum([w[i, j] for i, j in ind]) * 1.0 / y_pred.size
dugzzuli commented 3 years ago

Thank you very much.