Supposons que je travaille sur un problème de classification. (La détection de la fraude et le spam de commentaires sont deux problèmes sur lesquels je travaille en ce moment, mais je suis curieux de savoir quelle tâche de classification en général.)
Comment savoir quel classificateur utiliser?
- Arbre de décision
- SVM
- Bayésien
- Réseau neuronal
- K-voisins les plus proches
- Q-learning
- Algorithme génétique
- Processus de décision Markov
- Réseaux de neurones convolutifs
- Régression linéaire ou régression logistique
- Boosting, ensachage, ensambling
- Escalade aléatoire ou recuit simulé
- ...
Dans quels cas l'un d'eux est-il le premier choix "naturel", et quels sont les principes pour le choisir?
Exemples du type de réponses que je recherche (extrait du livre Introduction à la recherche d'informations de Manning et al. ):
une. Si vos données sont étiquetées, mais que vous n'en avez qu'une quantité limitée, vous devez utiliser un classificateur à biais élevé (par exemple, Naive Bayes) .
Je suppose que c'est parce qu'un classificateur à biais plus élevé aura une variance plus faible, ce qui est bon en raison de la petite quantité de données.
b. Si vous avez une tonne de données, le classificateur n'a pas vraiment d'importance, vous devriez donc probablement choisir un classificateur avec une bonne évolutivité.
Quelles sont les autres directives? Même les réponses comme «si vous devez expliquer votre modèle à un cadre supérieur, alors vous devriez peut-être utiliser un arbre de décision, car les règles de décision sont assez transparentes» sont bonnes. Cependant, je me soucie moins des problèmes d'implémentation / bibliothèque.
De plus, pour une question quelque peu distincte, outre les classificateurs bayésiens standard, existe-t-il des méthodes «de pointe» pour la détection du spam dans les commentaires (par opposition au spam par courrier électronique)?