ageron / ageron/handson-ml2

Gaussian Mixture models mismatch predicted classes

Ouverte
#221 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Jupyter Notebook
Étoiles
30k
Forks
13.1k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

https://colab.research.google.com/github/ageron/handson-ml2/blob/master/09_unsupervised_learning.ipynb#scrollTo=iBdY4mAzvkHa

The code mismatches label predicted using unsupervised learning resulting in zero accuracy when I run the code in Colab.

y_pred = GaussianMixture(n_components=3, random_state=42).fit(X).predict(X)
mapping = np.array([2, 0, 1])
y_pred = np.array([mapping[cluster_id] for cluster_id in y_pred])

I suggest matching clustered labels to the most common y labels prior to the calculation of accuracy:

from copy import deepcopy
y_pred = GaussianMixture(n_components=3, random_state=42).fit(X).predict(X)
# replace prediction with the most common value
dic_val = {}
index = {}
for i in range(3):
newval = np.bincount(y[np.where(y_pred == i)[0]]).argmax()
index[i] = deepcopy(np.where(y_pred == i)[0])
dic_val[i] = deepcopy(newval)

for i in range(3):
y_pred[index[i]] = dic_val_copy[I]

My name is Ilya Rahkovsky, I am teaching a class using your textbook. Thank you for sharing your code.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.