2014-11-04 11 views
6

Devo usare WEKA nel mio codice java per la previsione. Fondamentalmente devo studiare un dato codice e riutilizzarlo.Che cos'è l'indice di classe in WEKA?

testdata.setClassIndex(data.numAttributes() - 1);

Non riesco a capire che cosa significa la linea di cui sopra. Che cos'è un indice di classe?

testdata e data sono oggetto Intances.

risposta

8

Come descritto here, setClassIndex viene utilizzato per definire l'attributo che rappresenterà la classe (a scopo di previsione). Dato che l'indice inizia a zero, data.numAttributes() - 1 rappresenta l'ultimo attributo del set di dati test.

Spero che questo aiuti!

+0

Grazie per la risposta. Anche se non sono ancora molto chiaro su questo. Supponiamo di avere gli attributi A, B, C, D nel set di dati di addestramento e nei miei dati di test, ho bisogno di prevedere l'attributo D (con i corrispondenti valori A, B, C dati per tutte le istanze nel test DataSet). Come scelgo l''indice di classe'. Può essere qualcuno dell'attributo? Si dovrebbe dare una preferenza a una di esse in base a qualche proprietà? – GiriB

+0

L'indice della classe indica l'attributo target utilizzato per la classificazione. Per impostazione predefinita, in un file ARFF, è l'ultimo attributo, che spiega il motivo per cui è impostato su numAttributes-1. –

3

Quando si utilizza un classificatore per classificare un set di dati su alcuni valori di classe, si fornisce un'istanza che ha attributi dei dati e un attributo che ha i valori di classe. Ad esempio, pensate di avere un insieme di e-mail come dati, dovete classificarli in spam/non-spam. Quindi l'attributo di classe ha due valori di classe (spam, non spam).

In genere, l'attributo class si aggiunge come ultimo attributo dell'istanza (non un must). Quindi devi indicare il classificatore quale attributo è l'attributo class e quali sono altri attributi. Quindi la frase che hai citato fa questo lavoro. Indicare quale è l'indice di classe del tuo oggetto istanze di dati.

Se vuoi ulteriori spiegazioni, per favore pubblica qui il tuo codice. Saluti..!

0

L'indice di classe indica l'attributo target utilizzato per la classificazione. Per impostazione predefinita, in un file ARFF, è l'ultimo attributo, che spiega il motivo per cui è impostato su numAttributes-1.