2012-09-03 8 views
5

Niedawno zacząłem używać Weka i staram się klasyfikować tweety na pozytywne lub negatywne przy użyciu Naive Bayes. Mam więc zestaw szkoleniowy z tweetami, które dostarczyłem etykietą i zestawem testowym z tweetami, które mają etykietę "pozytywną". Kiedy wpadłem Naive Bayesa, mam następujące wyniki:Znaczenie poprawnie sklasyfikowanych instancji Weka

prawidłowo sklasyfikowanych instancje: 69 92% Błędnie sklasyfikowane przypadki: 6 8%

Następnie, jeśli mogę zmienić etykiety tweets w teście jest ustawiony na " negatywne”, raz za naiwny Bayesa, wyniki odwrócony:

prawidłowo sklasyfikowanych przypadki: 6 do 8% błędnej klasyfikacji przypadki: 69 92%

i uważał, że prawidłowo zaklasyfikowane przykłady pokazują dokładność naiwnych Bayesa i że powinno być takie samo nie znaczenie etykiet tweetów w zestawie testowym. Czy coś jest nie tak z moimi danymi lub nie rozumiem poprawnie znaczenia prawidłowo sklasyfikowanych wystąpień?

dziękuję za poświęcony czas,

Nantia

Odpowiedz

5

etykiety na zestawie testowym mają być rzeczywiste prawidłowa klasyfikacja. Wydajność oblicza się, prosząc klasyfikatora, aby zgadł co do klasyfikacji dla każdej instancji w zestawie testowym. Następnie przewidywane klasyfikacje są porównywane z rzeczywistymi klasyfikacjami w celu określenia dokładności. Dlatego jeśli odwrócisz "prawidłowe" wartości, które podasz, wyniki również zostaną odwrócone.

+0

Wielkie dzięki @Junnux & Antimony za szybkie odpowiedzi! Zestaw testowy jest tworzony w ten sposób: podaję wyszukiwany termin do mojego programu, twitter api zwraca tweety zawierające ten termin, te tweety tworzą mój zestaw testowy, a następnie uruchamia Naive Bayes. Nie mogę więc dodać poprawnych etykiet dla zestawu testowego. Jeśli dobrze cię zrozumiałem, w tym przypadku będę mógł uzyskać odpowiedzi klasyfikatora na etykiety zestawu testowego, ale nie będę w stanie ocenić dokładności. Czy dobrze to rozumiem? – nadia

+0

Masz rację, zakładając, że masz etykiety dla zestawu treningowego przynajmniej. Jeśli nawet tego nie masz, podejmiesz niewłaściwe podejście. Naive Bayes to algorytm nadzorowanej nauki. Jeśli nie masz etykiet, to czego szukasz, to nauka __unsupervised__, która wymaga innego zestawu algorytmów, a ogólnie daje o wiele gorsze wyniki. Proponuję albo znaleźć sposób na oznaczenie twoich danych lub google dla uczenia się bez nadzoru. – Antimony

+0

Tak, moim celem jest nadzorowanie nauki, więc mam etykiety do mojego zestawu treningowego. Wielkie dzięki! Naprawdę pomógł mi rozwiązać kilka rzeczy. :) – nadia

1

Na podstawie Twojego zestawu szkoleń, 69,92% Twoich instancji jest klasyfikowanych jako pozytywne. Jeśli etykiety zestawu testowego, czyli , poprawne odpowiedzi, wskazują, że wszystkie są pozytywne, to znaczy, że 69,92% jest poprawne. Jeśli zestaw testowy (a tym samym klasyfikacja) jest taki sam, ale zmieniasz poprawne odpowiedzi, to oczywiście prawidłowy procent będzie również odwrotny.

Należy pamiętać, że do oceny klasyfikatora potrzebne są prawdziwe etykiety zestawu testowego. W przeciwnym razie nie można porównać odpowiedzi klasyfikatora z prawdziwymi odpowiedziami. Wydaje mi się, że mógł pan to źle zrozumieć. Możesz uzyskać etykiety niewidocznych danych, jeśli tego chcesz, ale w takim przypadku nie możesz ocenić dokładności klasyfikatora.