Sto tentando di eseguire una classificazione dei documenti utilizzando l'API java di Weka.Interpretazione dell'output di StringToWordVector() - Weka
Ecco la mia struttura di directory dei file di dati.
+- text_example
|
+- class1
| |
| 3 html files
|
+- class2
| |
| 1 html file
|
+- class3
|
3 html files
Ho il file 'arff' creato con 'TextDirectoryLoader'. Quindi utilizzo il filtro StringToWordVector
sul file arff creato, con filter.setOutputWordCounts(true)
.
Di seguito è riportato un esempio dell'output dopo l'applicazione del filtro. Ho bisogno di chiarire alcune cose.
@attribute </form> numeric
@attribute </h1> numeric
.
.
@attribute earth numeric
@attribute easy numeric
Questo elenco enorme dovrebbe essere la tokenizzazione del contenuto dei file html iniziali. destra?
Poi ho,
@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.........
perché non v'è alcun attributo di classe per i primi 3 articoli? (dovrebbe avere classe 1). cosa significa lo 0 iniziale come in {0 class2, ..}, {0 class3 ..}. Si dice, ad esempio, che nel 3 ° file html nella cartella class3, la parola identificata dal numero intero 32 appare 5 volte. Solo per vedere come ottengo la parola (token) indicata da 32?
Come ridurre la dimensionalità del vettore funzione? non è necessario che tutti i vettori di funzionalità abbiano le stesse dimensioni? (come si considerano solo i 100 termini più frequenti dal set di allenamento e più tardi quando si tratta di test, si consideri l'occorrenza di solo quei 100 termini nei documenti di test. Perché, in questo modo, cosa succede se arriviamo a una parola completamente nuova nella fase di test, il classificatore lo ignorerà?).
Mi manca qualcosa qui? Sono nuovo di Weka.
Inoltre, apprezzo molto l'aiuto se qualcuno mi può spiegare come il classificatore utilizza questo vettore creato con il filtro StringToWordVector
. (Come creare il vocabolario con i dati di allenamento, la riduzione dimensionalità, sono quelli accadendo all'interno del codice di Weka?)
Sì, l'an è un po 'in ritardo dove ho appreso le risposte da solo. Ma grazie per la tua risposta e lo accetto. Ehi, hai qualche esperienza con una classificazione di classe con libsvm (wrapper) in weka? Sono un po 'bloccato con esso – KillBill
@ user601 No, mi dispiace. Non ho mai usato libsvm in Weka. Solo per curiosità: stai scrivendo una tesi su qualche argomento di machine learning/data mining per caso? – Malhelo
sì, sto facendo la mia tesi di laurea che riguarda la classificazione del testo. Stai facendo qualcosa di simile? – KillBill