-1

Ich möchte Sentiment-Analyse mit 3 Klassen (positiv, neutral und negativ) tun. Ich habe viel Arbeit bei der Stimmungsanalyse mit zwei Klassen (positiv und negativ) gesehen, aber viel weniger für 3 Klassen. Wenn ich einen Bag-of-Word-Ansatz und einen Klassifikator wie Logistic Regression oder SVMs in Scikit-learn verwenden möchte, wie würde das funktionieren? Was wären die Schritte für meine Ausgabe, um mit 3 Klassen vorherzusagen?Sentiment Analyse mit 3 Klassen (positiv, neutral und negativ)?

Muss ich jede Klasse als binäre Klassifizierung behandeln und etwas tun, um die Ergebnisse zu kombinieren, oder ist sklearn in der Lage, eine Verarbeitung für mich durchzuführen, so muss ich dies nicht angeben?

+0

siehe hier: http://scikit-learn.org/stable/modules/multiclass.html Können Sie auch einige Daten und Code hinzufügen? – sera

Antwort

1

Es gibt drei mögliche Ansätze:

  1. Verwendung multiclass algorithms, wie logistische Regression oder Entscheidungsbaum (sie von Natur aus mehrklassige ist) oder ein-gegen-Eins oder Eins-gegen-Rest-Wrapper für binäre Algorithmen wie SVM.
  2. Wenn Sie die Tatsache ausnutzen möchten, dass neutrale Texte "irgendwo zwischen" positiven und negativen liegen, können Sie geordnete Klassifikationsmodelle verwenden, wie zum Beispiel eine geordnete logistische Regression im mord Paket.
  3. Wenn Sie die Reihenfolge der Klassen ausnutzen wollen, aber innerhalb von scikit-learn bleiben wollen, würde ich vorschlagen, zuerst ein Regressionsmodell an Ihre Daten anzupassen (zB Gradienten-Boosing-Regressor) und dann die logistische Regression zu verwenden Prognose.
Verwandte Themen