Comment calculer le taux d'erreur de classification
Bien. Maintenant, cette question est assez difficile. Je vais vous donner un exemple.
Maintenant la gauche numéros sont mes algorithme de la classification et de la droite des nombres, qui sont les premiers numéros de la classe
177 86
177 86
177 86
177 86
177 86
177 86
177 86
177 86
177 86
177 89
177 89
177 89
177 89
177 89
177 89
177 89
Alors, voici mon algorithme fusionné les 2 classes différentes en 1. Comme vous pouvez le voir, il a fusionné classe 86 et 89 dans une classe. Alors, quelle serait l'erreur à l'exemple ci-dessus ?
Ou ici un autre exemple
203 7
203 7
203 7
203 7
16 7
203 7
17 7
16 7
203 7
À l'exemple ci-dessus à gauche numéros sont mes algorithme de classification et les bons chiffres sont d'origine id de classe. Comme on peut le voir ci-dessus-il manquer classé 3 produits (je suis la classification même des produits commerciaux). Donc, à l'exemple de ce que serait le taux d'erreur? Comment voulez-vous calculer.
Cette question est assez difficile et complexe. Nous avons terminé la classification, mais nous ne sommes pas en mesure de trouver le bon algorithme pour le calcul de taux de réussite 😀
OriginalL'auteur MonsterMMORPG | 2012-04-08
Vous devez vous connecter pour publier un commentaire.
Voici un longuets exemple, un réel confuson matrice avec 10 entrée des classes "0" - "9"
(chiffres manuscrits),
et 10 de sortie des grappes étiquetés de A - J.
Par exemple, le cluster A a 580 points de données, 415 qui sont "8"s;
le groupe B a 383 points de données, 249 "1"; et ainsi de suite.
Le problème est que la sortie des classes sont brouillés, permutées;
ils correspondent, dans cet ordre, avec des comptages:
Un pourrait dire que le "taux de réussite" est
75 % = (415 + 249 + 483 + 507 + 294 + 546 + 546 + 480 + 460 + 257) /5620
mais cela jette les informations utiles —
ici, E et J disent tous les deux "6", et pas de cluster dit "9".
Ajoutez-le plus grand des nombres de chaque colonne de la matrice de confusion
et diviser par le total.
Mais, comment compter le chevauchement /manquant clusters,
comme les 2 "6"s, n "9"s ici ?
Je ne sais pas de consensus sur la façon
(doute que le L'algorithme hongrois
est utilisé dans la pratique).
Bas de ligne: ne pas jeter de l'information; regardez l'ensemble de la matrice de confusion.
NB tel un "taux de réussite" sera optimiste pour les nouvelles données !
Il est de coutume de diviser les données en dire 2/3 "formation" et 1/3 "test set",
train par exemple k-means sur les 2/3 seul,
ensuite, mesurer la confusion /taux de réussite sur l'ensemble de test — généralement pire que sur l'ensemble de la formation seul.
Beaucoup plus peut être dit; voir par ex.
La validation croisée.
OriginalL'auteur denis
Vous devez définir l'erreur critères, si vous souhaitez évaluer la performance d'un algorithme, donc je ne suis pas sûr exactement ce que vous demandez. Dans certains clusters et des algorithmes d'apprentissage automatique vous définir la métrique d'erreur et l'on minimise.
Jetez un oeil à ce
https://en.wikipedia.org/wiki/Confusion_matrix
pour obtenir quelques idées
OriginalL'auteur dfb
Vous devez définir une métrique d'erreur de mesurer vous-même. Dans votre cas, une méthode simple devrait être de trouver les propriétés de la cartographie de votre produit
où
id
est l'id de produit, etp
est susceptible d'être un vecteur à chaque entrée de propriétés différentes. Ensuite, vous pouvez définir la fonction d'erreure
(ou distance) entre deux produitsBien sûr, chacun propriétés doivent être évaluées à un certain nombre dans cette fonction. Ensuite, cette fonction d'erreur peuvent être utilisés dans l'algorithme de classification et d'apprentissage.
Dans votre deuxième exemple, il semble que vous traiter la paire (203 7), selon le classement réussi, donc je pense que vous avez déjà une métrique de vous-même. Vous pouvez être plus précis pour obtenir une meilleure réponse.
Donc, j'ai seulement décrit l'idée générale ici. Une propriété d'un produit peut être son type ou son prix. Si les jeunes en faveur du produit de la même prix, vous pouvez simplement utiliser d(prix 1, price2)
Je pense que vous ne comprenez pas correctement à la question. Imaginez que vous avez 100 produits différents, et chaque produit est vendu à 10 marchand qui fait 1000 produits au total. Si vous essayez de groupe de chaque produit correctement, mais l'algorithme classés comme les exemples ci-dessus. Alors, comment voulez-vous calculer votre algorithme de classification de taux de réussite.
pourquoi ne pas (correct)/(total)?
OriginalL'auteur unsym
Taux d'Erreur de Classification(CER) est 1 - la Pureté (http://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html)
Code de @jean-colby
Ou
OriginalL'auteur Sibelius Seraphini