La construction d'un classificateur multiclasse est-elle meilleure que plusieurs classificateurs binaires?

18

J'ai besoin de classer les URL en catégories. Disons que j'ai 15 catégories que je prévois de mettre à zéro chaque URL.

Un classificateur à 15 voies est-il meilleur? Où j'ai 15 étiquettes et génère des fonctionnalités pour chaque point de données.

Ou construire 15 classificateurs binaires, par exemple: film ou non-film, et utiliser les chiffres que j'obtiens de ces classifications pour construire un classement, pour choisir la meilleure catégorie, ça va être mieux?

madCode
la source

Réponses:

12

Tout d'abord, vous devez vous demander si votre problème est multilabel (c'est-à-dire qu'une seule URL peut appartenir à plusieurs classes) ou non (c'est-à-dire qu'une seule URL peut appartenir à une seule classe).

Si c'est le premier, optez pour une batterie de classificateurs binaires, car c'est une façon par défaut de résoudre les problèmes multi-étiquettes.

Dans ce dernier cas, la réponse dépend d'une combinaison de l'apparence de vos données, de l'objectif de votre analyse et de la méthode que vous utilisez - vous devriez probablement essayer les deux et sélectionner le mieux.
Notez seulement que certaines méthodes (comme SVM) ne peuvent pas réellement faire de classification multiclasse en raison de la façon dont elles sont définies et utilisent donc en interne une batterie de classificateurs binaires.


la source
mon énoncé de problème considère l'ancienne hypothèse @mbq. Je sais qu'il y a plusieurs étiquettes. et oui, comme vous l'avez dit, j'ai décidé d'opter pour 15 classificateurs binaires, mais encore une fois, je dois les classer pour choisir une meilleure catégorie. Donc, je vais essayer d'effectuer une autre classification de haut niveau en utilisant les chiffres que j'ai obtenus de la batterie des classificateurs binaires. Voyez-vous un problème?
madCode
Les SVM peuvent effectuer une classification multiclasse. La méthode est très similaire à la régression softmax (voir "Sur l'implémentation algorithmique des machines vectorielles basées sur le noyau multiclasse").
user1149913
4

Cela dépendra de la façon dont vos données sont dispersées. Il y a un bel exemple qui a été donné récemment à une question similaire où l'OP voulait savoir si une seule fonction discriminante linéaire serait un meilleur classificateur pour décider de la population A vs B ou C ou une basée sur plusieurs fonctions discriminantes linéaires qui séparent A, B et C. Quelqu'un a donné un très joli nuage de points coloré pour montrer comment utiliser deux discriminants serait mieux qu'un dans ce cas. Je vais essayer de créer un lien vers celui-ci.

Michael R. Chernick
la source
Attendre. J'ai du mal à le trouver mais je vais continuer à chercher.
Michael R. Chernick
Désolé de ne pas avoir trouvé le lien. Imaginez un nuage d'une couleur à gauche, un autre au milieu et un troisième à droite. Deux lignes discriminantes linéaires feraient un bon travail de séparation du groupe du milieu de celles de gauche et de droite, mais aucune ligne ne ferait du tout bien. L'image vaudrait plus que tous ces mots.
Michael R. Chernick
1
@MichaelChernick Est-ce le lien que vous recherchez?
Je pense que je comprends ce que vous dites: bit.ly/M1NydS - l'image que vous avez définie que je suis tombée sur cette présentation. Classification 4 voies ou 3 voies ... pourrait être directe. Mais .. Je me demande si la précision / rappel serait compromise si la classification à 15 voies, Dr Chernick.
madCode
@Procrastinator Merci d'avoir trouvé cela. j'avais tellement de mal à le localiser et je regardais beaucoup de temps! C'était un post récent donc je pensais que tit serait facile à trouver.
Michael R. Chernick
1

Certaines méthodes traitent bien les multiclasses, les forêts aléatoires, les MLP par exemple.

Si vous ne voulez pas suivre cette voie, il est possible qu'ECOC effectue bien 1-vs-All pour votre problème, seuls les tests le diront.

image_doctor
la source