Textklassifizierungsmethoden? SVM und Entscheidungsbaum

8

Ich habe ein Trainingssatz und ich möchte eine Klassifizierungsmethode verwenden, um andere Dokumente nach meinem Trainingssatz zu klassifizieren. Meine Dokumententypen sind Nachrichten und Kategorien sind Sport, Politik, Wirtschaft usw.

Ich verstehe naive Bayes und KNN vollständig, aber SVM und Entscheidungsbaum sind vage und ich weiß nicht, ob ich diese Methode selbst implementieren kann oder ob es Anwendungen für diese Methoden gibt?

Was ist die beste Methode, um Dokumente auf diese Weise zu klassifizieren?

Danke!

    
zsh 02.07.2013, 05:28
quelle

3 Antworten

11
  • Naive Bayes

Obwohl dies der einfachste Algorithmus ist und alles als unabhängig betrachtet wird, funktioniert diese Methode im Falle einer echten Textklassifizierung sehr gut. Und ich würde diesen Algorithmus zuerst einmal ausprobieren.

  • KNN

KNN dient eher dem Clustering als der Klassifizierung. Ich glaube, Sie verstehen das Konzept der Clusterbildung und Klassifikation falsch.

  • SVM

SVM hat SVC (Klassifikation) und SVR (Regression) Algorithmen, um Klassenklassifikation und Vorhersage zu machen. Es funktioniert manchmal gut, aber nach meinen Erfahrungen hat es eine schlechte Leistung in der Textklassifizierung, da es hohe Anforderungen an gute Tokenizer (Filter) stellt. Das Wörterbuch des Datasets enthält jedoch immer schmutzige Token. Die Genauigkeit ist wirklich schlecht.

  • Random Forest (Entscheidungsbaum)

Ich habe diese Methode zur Textklassifizierung noch nie probiert. Weil ich denke, dass der Entscheidungsbaum mehrere Schlüsselknoten benötigt, während es schwierig ist, "mehrere Schlüssel-Token" für die Textklassifizierung zu finden, und zufällige Gesamtstrukturen schlecht für hohe dünnere Dimensionen.

FYI

Das sind alles meine Erfahrungen, aber für Ihren Fall haben Sie keine besseren Möglichkeiten, sich zu entscheiden, welche Methoden Sie verwenden sollen, sondern jeden Algorithmus, der zu Ihrem Modell passt.

Apache Mahout ist ein großartiges Werkzeug für maschinelle Lernalgorithmen. Es integriert drei Aspekte der Algorithmen: Empfehlung, Clustering und Klassifizierung. Sie könnten diese Bibliothek ausprobieren. Aber Sie müssen ein wenig Grundwissen über Hadoop lernen.

Und für das maschinelle Lernen ist weka ein Software-Toolkit für Erfahrungen, das viele Algorithmen integriert.

    
Freya Ren 02.07.2013 14:10
quelle
5

Lineare SVMs sind einer der besten Algorithmen für Textklassifikationsprobleme (zusammen mit der logistischen Regression). Entscheidungsbäume leiden in solchen hochdimensionalen Merkmalsräumen schlecht.

Der Pegasos-Algorithmus ist einer der einfachsten linearen SVM-Algorithmen und ist unglaublich effektiv .

BEARBEITEN: Multinomiale Naive Bayes funktionieren auch gut bei Textdaten, wenn auch nicht so gut wie bei linearen SVMs. kNN kann gut funktionieren, aber es ist ein bereits langsamer Algorithmus und übertrifft nie die Genauigkeitsdiagramme bei Textproblemen.

    
Raff.Edward 02.07.2013 05:31
quelle
2

Wenn Sie mit Python vertraut sind, können Sie NLTK und scikit-lernen . Ersteres ist dem NLP gewidmet, letzteres ist ein umfassenderes Paket zum maschinellen Lernen (es verfügt jedoch über einen großen Bestand an Textverarbeitungsmodulen). Beide sind Open Source und haben eine großartige Community-Unterstützung für SO.

    
Moses Xu 02.07.2013 07:12
quelle

Tags und Links