2012-09-03 6 views
5

Ich habe vor kurzem begonnen, Weka zu verwenden und ich versuche, Tweets mit Naive Bayes positiv oder negativ zu klassifizieren. Also habe ich ein Trainingset mit Tweets, denen ich das Label gegeben habe und ein Testset mit Tweets, die alle das Label "positiv" tragen. Als ich Naive Bayes lief, erhalte ich folgende Ergebnisse:Bedeutung von korrekt klassifizierten Instanzen weka

korrekt klassifizierten Instanzen: 69 92% falsch klassifizierten Instanzen: 6 8%

Dann, wenn ich die Etiketten der Tweets im Test ändern auf " negativ“und lief wieder Naive Bayes, werden die Ergebnisse inversed:

korrekt klassifiziert Instanzen: 6 8% falsch klassifiziert Instanzen: 69 92%

ich dachte, dass die Genauigkeit der Naive Bayes und korrekt klassifiziert Instanzen zeigen Es sollte das gleiche sein Die Labels der Tweets im Testset müssen beachtet werden. Stimmt etwas mit meinen Daten nicht oder ich verstehe die Bedeutung von korrekt klassifizierten Instanzen nicht richtig?

Vielen Dank für Ihre Zeit,

Nantia

Antwort

5

die Etiketten auf dem Testset soll die tatsächliche korrekte Klassifizierung sein. Die Leistung wird berechnet, indem der Klassifizierer aufgefordert wird, die Klassifizierung für jede Instanz in der Testgruppe zu bewerten. Dann werden die vorhergesagten Klassifizierungen mit den tatsächlichen Klassifizierungen verglichen, um die Genauigkeit zu bestimmen. Wenn Sie also die richtigen Werte umkehren, werden die Ergebnisse ebenfalls gewendet.

+0

Vielen Dank @Junnux & Antimony für die schnellen Antworten! Das Testset wird auf diese Weise erstellt: Ich gebe meinem Programm einen Suchbegriff, twitter api gibt Tweets zurück, die diesen Begriff enthalten, diese Tweets bilden mein Testset und dann läuft Naive Bayes. Daher kann ich die richtigen Etiketten für das Testset nicht hinzufügen. Wenn ich Sie gut verstehe, kann ich in diesem Fall die Antworten des Klassifikators für die Etiketten des Testsets erhalten, aber ich kann die Genauigkeit nicht beurteilen. Habe ich es richtig gesagt? – nadia

+0

Sie haben Recht, wenn Sie mindestens Etiketten für das Trainingset haben. Wenn du das nicht hast, dann nimmst du den falschen Weg. Naive Bayes ist ein Algorithmus für das überwachte Lernen. Wenn Sie keine Labels haben, dann ist das, was Sie suchen, "unüberwachtes Lernen", das einen anderen Satz von Algorithmen erfordert und im Allgemeinen viel schlechtere Ergebnisse liefert. Ich würde vorschlagen, entweder einen Weg zu finden, um Ihre Daten zu beschriften, oder Google, um unbeaufsichtigt zu lernen. – Antimony

+0

Ja, mein Zweck ist überwachtes Lernen, also habe ich Etiketten für mein Trainingsset. Nochmals vielen Dank! Du hast mir wirklich geholfen, ein paar Dinge auszusortieren. :) – nadia

1

Basierend auf Ihrem Trainingssatz werden 69,92% Ihrer Instanzen als positiv eingestuft. Wenn die Etiketten für den Testsatz die richtigen Antworten sind, zeigen Sie an, dass sie alle positiv sind, dann macht das 69,92% korrekt. Wenn der Testsatz (und damit die Klassifizierung) derselbe ist, aber Sie die richtigen Antworten wechseln, dann ist der Prozentwert natürlich auch umgekehrt.

Beachten Sie, dass Sie zur Bewertung eines Klassifikators die richtigen Beschriftungen des Testsets benötigen. Andernfalls können Sie die Antworten des Klassifikators nicht mit den echten Antworten vergleichen. Es scheint mir, dass Sie das vielleicht falsch verstanden haben. Sie können die Etiketten für ungesehene Daten erhalten, wenn Sie das möchten, aber in diesem Fall können Sie die Genauigkeit des Klassifizierers nicht auswerten.