Angenommen, ich arbeite an einem Klassifizierungsproblem. (Betrugserkennung und Kommentar-Spam sind zwei Probleme, an denen ich gerade arbeite, aber ich bin neugierig auf jede Klassifizierungsaufgabe im Allgemeinen.)
Woher weiß ich, welchen Klassifikator ich verwenden soll?
- Entscheidungsbaum
- SVM
- Bayesian
- Neurales Netzwerk
- K-nächste Nachbarn
- Q-Learning
- Genetischen Algorithmus
- Markov Entscheidungsprozesse
- Faltungs-Neuronale Netze
- Lineare Regression oder logistische Regression
- Boosten, Absacken, Ensambling
- Zufälliges Bergsteigen oder simuliertes Tempern
- ...
In welchen Fällen ist einer davon die "natürliche" erste Wahl, und nach welchen Grundsätzen wird dieser gewählt?
Beispiele für die Art der Antworten, nach denen ich suche (aus dem Buch Introduction to Information Retrieval von Manning et al. ):
ein. Wenn Ihre Daten beschriftet sind, Sie aber nur eine begrenzte Menge haben, sollten Sie einen Klassifikator mit hoher Verzerrung verwenden (z. B. Naive Bayes) .
Ich vermute, das liegt daran, dass ein Klassifikator mit höherer Vorspannung eine geringere Varianz aufweist, was aufgrund der geringen Datenmenge gut ist.
b. Wenn Sie eine Menge Daten haben, ist der Klassifikator nicht wirklich wichtig, daher sollten Sie wahrscheinlich nur einen Klassifikator mit guter Skalierbarkeit auswählen.
Was sind andere Richtlinien? Sogar Antworten wie "Wenn Sie Ihr Modell einer Person des oberen Managements erklären müssen, sollten Sie vielleicht einen Entscheidungsbaum verwenden, da die Entscheidungsregeln ziemlich transparent sind" sind gut. Ich kümmere mich jedoch weniger um Implementierungs- / Bibliotheksprobleme.
Gibt es für eine etwas andere Frage neben Standard-Bayes'schen Klassifikatoren auch Standardmethoden nach dem Stand der Technik für die Erkennung von Kommentar-Spam (im Gegensatz zu E-Mail-Spam)?