Próbuję zrobić klasyfikacji dokumentu za pomocą Weka Java API.Interpretowanie wyjścia StringToWordVector() - Weka
Oto moja struktura katalogów plików danych.
+- text_example
|
+- class1
| |
| 3 html files
|
+- class2
| |
| 1 html file
|
+- class3
|
3 html files
Mam plik "arff" utworzony za pomocą "TextDirectoryLoader". Następnie używam filtru StringToWordVector
w utworzonym pliku arff, z filter.setOutputWordCounts(true)
.
Poniżej przedstawiono przykładowy wynik po zastosowaniu filtra. Muszę wyjaśnić kilka rzeczy.
@attribute </form> numeric
@attribute </h1> numeric
.
.
@attribute earth numeric
@attribute easy numeric
Ta ogromna lista powinna być tokenizacją treści początkowych plików html. dobrze?
Wtedy mam,
@data
{1 2,3 2,4 1,11 1,12 7,..............}
{10 4,34 1,37 5,.......}
{2 1,5 6,6 16,...}
{0 class2,34 11,40 15,.....,4900 3,...
{0 class3,1 2,37 3,40 5....
{0 class3,1 2,31 20,32 17......
{0 class3,32 5,42 1,43 10.........
dlaczego nie ma atrybut class przez pierwsze 3 maszyn? (powinien mieć klasę1). co oznacza wiodące 0, jak w {0 class2, ..}, {0 class3 ..}. Mówi na przykład, że w trzecim pliku html w folderze class3 słowo identyfikowane przez liczbę całkowitą 32 pojawia się 5 razy. Tylko po to, aby zobaczyć, jak mogę uzyskać słowo (token), o którym mowa przez 32?
Jak zmniejszyć wymiarowość wektora cech? czy nie musimy uczynić wszystkich wektorów cech tego samego rozmiaru? (jak rozważ tylko 100 najczęstszych terminów z zestawu treningowego, a później, jeśli chodzi o testowanie, rozważ występowanie tylko tych 100 terminów w dokumentach testowych, ponieważ w ten sposób, co się stanie, jeśli wymyślimy zupełnie nowe słowo w fazie testowania, czy klasyfikator po prostu go zignoruje?).
Czy tu czegoś brakuje? Jestem nowy w Weka.
Bardzo doceniam pomoc, jeśli ktoś może mi wyjaśnić, w jaki sposób klasyfikator używa tego wektora utworzonego z filtrem StringToWordVector
. (Jak tworzenie słownictwa z danych szkoleniowych, redukcję wymiarowości, to te dzieje wewnątrz kodu Weka?)
Tak, ans jest nieco spóźniony, gdy sam nauczyłem się odpowiedzi. Ale dziękuję za odpowiedź i akceptuję ją. Hej, masz jakieś doświadczenie z jedną klasyfikacją klasy z libsvm (wrapper) w Weka? Trochę utknąłem z tym – KillBill
@ user601 Nie, przepraszam. Nigdy nie korzystałem z biblioteki libsvm w Weka. Z czystej ciekawości: czy pisząc pracę magisterską na temat uczenia maszynowego/eksploracji danych, przypadkiem? – Malhelo
Tak, robię moją pracę magisterską, która wymaga klasyfikacji tekstu. Czy robisz coś podobnego? – KillBill