weka dataset classifier
Questo tutorial spiega WEKA Dataset, Classifier e J48 Algorithm for Decision Tree. Fornisce inoltre informazioni sui set di dati ARFF di esempio per Weka:
Nel Tutorial precedente , abbiamo imparato a conoscere lo strumento Weka Machine Learning, le sue funzionalità e come scaricare, installare e utilizzare il software Weka Machine Learning.
WEKA è una libreria di algoritmi di machine learning per risolvere i problemi di data mining su dati reali. WEKA fornisce anche un ambiente per sviluppare molti algoritmi di apprendimento automatico. Dispone di una serie di strumenti per eseguire varie attività di data mining come la classificazione dei dati, il clustering dei dati, la regressione, la selezione degli attributi, l'estrazione frequente di set di elementi e così via.
Tutte queste attività possono essere eseguite sul file sample.ARFF disponibile nel repository WEKA oppure gli utenti possono preparare i propri file di dati. I file .arff di esempio sono set di dati con dati storici incorporati raccolti dai ricercatori.
=> Leggi la serie completa di formazione sull'apprendimento automatico
In questo tutorial, vedremo alcuni set di dati di esempio in WEKA ed eseguiremo anche il data mining dell'algoritmo dell'albero decisionale utilizzando il set di dati weather.arff.
Cosa imparerai:
- Esplorazione dei set di dati WEKA
- Algoritmi di classificazione dell'albero decisionale Weka
- Conclusione
Esplorazione dei set di dati WEKA
Lo strumento di apprendimento automatico WEKA fornisce una directory di alcuni set di dati di esempio. Questi set di dati possono essere caricati direttamente in WEKA per consentire agli utenti di iniziare immediatamente a sviluppare modelli.
I set di dati WEKA possono essere esplorati dal collegamento 'C: Program Files Weka-3-8 data'. I set di dati sono in formato .arff.
Set di dati WEKA di esempio
Alcuni set di dati di esempio presenti in WEKA sono elencati nella tabella seguente:
S.No. | Set di dati di esempio |
---|---|
7. | diabete.arff |
1. | airlines.arff |
2. | cancro al seno arff |
3. | contact-lens.arff |
Quattro. | cpu.arff |
5. | cpu.with-vendor.arff |
6. | credit-g.arff |
8. | glass.arff |
9. | hypothyroid.arff |
10. | ionospehre.arff |
undici. | iris. 2D.arff |
12. | iris.arff |
13. | labour.arff |
14. | ReutersCorn-train.arff |
quindici. | ReutersCorn-test.arff |
16. | ReutersGrain-train.arff |
17. | ReutersGrain-test.arff |
18. | segment-challenge.arff |
19. | segment-test.arff |
venti. | soia.arff |
ventuno. | supermarket.arff |
22. | sbilanciato.arff |
2. 3. | vota.arff |
24. | weather.numeric.arff |
25. | weather.nominal.arff |
Diamo un'occhiata ad alcuni di questi:
contact-lens.arff
Il dataset contact-lens.arff è un database per il montaggio delle lenti a contatto. È stato donato dal donatore, Benoit Julien nell'anno 1990.
Banca dati: Questo database è completo. Gli esempi utilizzati in questo database sono completi e privi di rumore. Il database ha 24 istanze e 4 attributi.
Attributi: Tutti e quattro gli attributi sono nominali. Non ci sono valori di attributo mancanti. I quattro attributi sono i seguenti:
# 1) Età del paziente: l'attributo età può assumere valori:
- giovane
- pre-presbite
- presbite
#Due) Prescrizione per occhiali: questo attributo può assumere valori:
- miope
- ipermetrope
# 3) Astigmatico: questo attributo può assumere valori
- no
- sì
# 4) Tasso di produzione di lacrime: i valori possono essere
- ridotto
- normale
Classe: qui vengono definite tre etichette di classe. Questi sono:
- il paziente deve essere dotato di lenti a contatto rigide.
- il paziente deve essere dotato di lenti a contatto morbide.
- il paziente non deve essere dotato di lenti a contatto.
Distribuzione delle classi: le istanze classificate in etichette di classe sono elencate di seguito:
Etichetta di classe | No di istanze | |
---|---|---|
1. | Lenti a contatto dure | 4 |
2. | Lenti a contatto morbide | 5 |
3. | Niente lenti a contatto | quindici |
iris.arff
Il dataset iris.arff è stato creato nel 1988 da Michael Marshall. È il database Iris Plants.
la migliore estensione per il blocco dei pop-up per Chrome
Banca dati: Questo database viene utilizzato per il riconoscimento di pattern. Il set di dati contiene 3 classi di 50 istanze. Ogni classe rappresenta un tipo di pianta di iris. Una classe è separabile linearmente dalle altre 2 ma queste ultime non sono separabili linearmente l'una dall'altra. Predice a quale specie dei 3 fiori di iris appartiene l'osservazione. Questo è chiamato dataset di classificazione multi-classe.
Attributi: Ha 4 attributi numerici, predittivi e la classe. Non ci sono attributi mancanti.
Gli attributi sono:
- lunghezza dei sepali in cm
- larghezza del sepalo in cm
- lunghezza petalo in cm
- larghezza petalo in cm
- classe:
- Iris Setosa
- Iris Versicolor
- Iris Virginica
Statistiche riassuntive:
Min | Max | Significare | SD | Correlazione di classe | |
---|---|---|---|---|---|
lunghezza del sepalo | 4.3 | 7.9 | 5.84 | 0.83 | 0.7826 |
larghezza del sepalo | 2.0 | 4.4 | 3.05 | 0.43 | -0.4194 |
lunghezza del petalo | 1.0 | 6.9 | 3.76 | 1.76 | 0,9490 (alto!) |
larghezza dei petali | 0.1 | 2.5 | 1.20 | 0.76 | 0,9565 (alto!) |
Distribuzione delle classi: 33,3% per ciascuna delle 3 classi
Alcuni altri set di dati:
diabete.arff
Il database di questo set di dati è Pima Indians Diabetes. Questo set di dati prevede se il paziente è incline a essere diabetico nei prossimi 5 anni. I pazienti in questo set di dati sono tutte donne di almeno 21 anni di età provenienti da Pima Indian Heritage. Ha 768 istanze e 8 attributi numerici più una classe. Si tratta di un set di dati di classificazione binaria in cui la variabile di output prevista è nominale e comprende due classi.
ionosphere.arff
Questo è un set di dati popolare per la classificazione binaria. L'istanza in questo set di dati descrive le proprietà dei ritorni radar dall'atmosfera. Viene utilizzato per prevedere dove la ionosfera ha una struttura o meno. Ha 34 attributi numerici e una classe.
L'attributo di classe è 'buono' o 'cattivo', previsto in base all'osservazione di 34 attributi. I segnali ricevuti vengono elaborati dalla funzione di autocorrelazione prendendo come argomenti l'impulso di tempo e il numero di impulsi.
Set di dati di regressione
I set di dati di regressione possono essere scaricati dalla pagina web WEKA ' Raccolte di set di dati '. Ha 37 problemi di regressione ottenuti da diverse fonti. Il file scaricato creerà una directory / numerica con set di dati di regressione in formato .arff.
I dataset popolari presenti nella directory sono: Set di dati economici Longley (longley.arff), set di dati sui prezzi delle case di Boston (housing.arff) e set di dati sul sonno nei mammiferi (sleep.arff).
Vediamo ora come identificare gli attributi a valori reali e nominali nel set di dati utilizzando WEKA explorer.
Cosa sono gli attributi a valore reale e nominali
Gli attributi con valore reale sono attributi numerici che contengono solo valori reali. Queste sono quantità misurabili. Questi attributi possono essere scalati su intervallo come temperatura o rapporto in scala come media, mediana.
Gli attributi nominali rappresentano nomi o alcune rappresentazioni di cose. Non vi è alcun ordine in tali attributi e rappresentano una categoria. Per esempio, colore.
Seguire i passaggi elencati di seguito per utilizzare WEKA per identificare i valori reali e gli attributi nominali nel set di dati.
# 1) Apri WEKA e seleziona 'Explorer' in 'Applicazioni'.
#Due) Seleziona la scheda 'Pre-elaborazione'. Fare clic su 'Apri file'. Con l'utente WEKA è possibile accedere ai file di esempio WEKA.
# 3) Selezionare il file di input dalla cartella WEKA3.8 archiviata nel sistema locale. Selezionare il file .arff predefinito 'credit-g.arff' e fare clic su 'Apri'.
# 4) Un elenco di attributi si aprirà nel pannello di sinistra. Le statistiche degli attributi selezionati verranno mostrate nel pannello di destra insieme all'istogramma.
Analisi del set di dati:
Nel pannello di sinistra la relazione corrente mostra:
- Nome relazione: german_credit è il file di esempio.
- Istanze: 1000 numero di righe di dati nel set di dati.
- Attributi: 21 attributi nel set di dati.
Il pannello sotto la relazione corrente mostra il nome degli attributi.
Nel pannello di destra, vengono visualizzate le statistiche dell'attributo selezionato. Seleziona il attributo 'ecking_status '.
Mostra:
- Nome dell'attributo
- Mancante: Eventuali valori mancanti dell'attributo nel set di dati. 0% in questo caso.
- Distinto: L'attributo ha 4 valori distinti.
- Genere: L'attributo è di tipo nominale, ovvero non assume alcun valore numerico.
- Contare: Tra le 1000 istanze, il conteggio di ciascuna etichetta di classe distinta è scritto nella colonna del conteggio.
- Istogramma: Verrà visualizzata l'etichetta della classe di output per l'attributo. L'etichetta della classe in questo set di dati è buona o cattiva. Ci sono 700 istanze di buono (contrassegnato in blu) e 300 istanze di cattivo (contrassegnato in rosso).
- Per l'etichetta<0, the instances for good or bad are almost the same in number.
- Per l'etichetta, 0<= X<200, the instances with decision good are more than instances with bad.
- Allo stesso modo, per label> = 200, il numero massimo di istanze si verifica per sempre e nessuna etichetta di controllo ha più istanze con decisione good.
Per il prossimo attributo 'durata'.
Il pannello di destra mostra:
- Nome: Questo è il nome dell'attributo.
- Genere: Il tipo di attributo è numerico.
- Valore mancante: L'attributo non ha alcun valore mancante.
- Distinto: Ha 33 valori distinti in 1000 istanze. Significa che in 1000 casi ha 33 valori distinti.
- Unico: Ha 5 valori univoci che non corrispondono tra loro.
- Valore minimo: Il valore minimo dell'attributo è 4.
- Valore massimo: Il valore massimo dell'attributo è 72.
- Significare: La media somma tutti i valori divisi per istanze.
- Deviazione standard: Deviazione standard della durata dell'attributo.
- Istogramma: L'istogramma rappresenta la durata di 4 unità, le istanze massime si verificano per una buona classe. Quando la durata aumenta a 38 unità, il numero di istanze si riduce per buone etichette di classe. La durata raggiunge le 72 unità che hanno una sola istanza che classifica la decisione come cattiva.
La classe è l'elemento di classificazione del tipo nominale. Ha due valori distinti: buono e cattivo. L'etichetta di classe buona ha 700 istanze e l'etichetta di classe non valida ha 300 istanze.
Per visualizzare tutti gli attributi del dataset, cliccare su “Visualizza tutto”.
# 5) Per scoprire solo attributi numerici, fare clic sul pulsante Filtro. Da lì, fai clic su Scegli -> WEKA> FILTRI -> Tipo non supervisionato -> Rimuovi tipo.
I filtri WEKA hanno molte funzionalità per trasformare i valori degli attributi del set di dati per renderlo adatto agli algoritmi. Per esempio, la trasformazione numerica degli attributi.
Il filtraggio degli attributi nominali e reali dal set di dati è un altro esempio di utilizzo dei filtri WEKA.
# 6) Fare clic su RemoveType nella scheda del filtro. Si aprirà una finestra dell'editor degli oggetti. Selezionare attributeType 'Elimina attributi numerici' e fare clic su OK.
# 7) Applica il filtro. Verranno visualizzati solo gli attributi numerici.
L'attributo class è di tipo nominale. Classifica l'output e quindi non può essere cancellato. Così è visto con l'attributo numerico.
Produzione:
Vengono identificati gli attributi dei valori reali e nominali nel set di dati. La visualizzazione con l'etichetta della classe è vista sotto forma di istogrammi.
Algoritmi di classificazione dell'albero decisionale Weka
Vedremo ora come implementare la classificazione dell'albero decisionale sul dataset weather.nominal.arff utilizzando il classificatore J48.
weather.nominal.arff
È un set di dati di esempio presente nella diretta di WEKA. Questo set di dati prevede se il tempo è adatto per giocare a cricket. Il set di dati ha 5 attributi e 14 istanze. L'etichetta della classe 'play' classifica l'output come 'sì' o 'no'.
Cos'è l'albero decisionale
Albero decisionale è la tecnica di classificazione che consiste di tre componenti: nodo radice, ramo (bordo o collegamento) e nodo foglia. La radice rappresenta la condizione di test per diversi attributi, il ramo rappresenta tutti i possibili risultati che possono essere presenti nel test ei nodi foglia contengono l'etichetta della classe a cui appartiene. Il nodo radice si trova all'inizio dell'albero che è anche chiamato la parte superiore dell'albero.
Classificatore J48
È un algoritmo per generare un albero decisionale generato da C4.5 (un'estensione di ID3). È anche noto come classificatore statistico. Per la classificazione dell'albero decisionale, abbiamo bisogno di un database.
I passaggi includono:
# 1) Apri WEKA Explorer.
#Due) Seleziona il file weather.nominal.arff da 'scegli file' sotto l'opzione della scheda di pre-elaborazione.
# 3) Vai alla scheda 'Classifica' per classificare i dati non classificati. Fare clic sul pulsante 'Scegli'. Da questo, seleziona 'alberi -> J48'. Diamo anche una rapida occhiata ad altre opzioni nel pulsante Scegli:
- Bayes: È una stima della densità per attributi numerici.
- Meta: È una regressione lineare multi-risposta.
- Funzioni: È la regressione logistica.
- Pigro: Imposta automaticamente l'entropia della miscela.
- Regola: È uno studente di regole.
- Alberi: Gli alberi classificano i dati.
# 4) Fare clic sul pulsante Start. L'output del classificatore verrà visualizzato nel pannello di destra. Mostra le informazioni sulla corsa nel pannello come:
- Schema: L'algoritmo di classificazione utilizzato.
- Istanze: Numero di righe di dati nel set di dati.
- Attributi: Il set di dati ha 5 attributi.
- Il numero di foglie e la dimensione dell'albero descrivono l'albero decisionale.
- Tempo impiegato per costruire il modello: Tempo per l'uscita.
- Classificazione completa del J48 sfoltito con attributi e numero di istanze.
# 5) Per visualizzare l'albero, fare clic con il tasto destro sul risultato e selezionare visualizza l'albero.
Produzione :
L'output è sotto forma di un albero decisionale. L'attributo principale è 'prospettiva'.
Se l'outlook è soleggiato, quindi l'albero analizza ulteriormente l'umidità. Se l'umidità è alta, l'etichetta di classe play = 'sì'.
Se la prospettiva è nuvolosa, l'etichetta della classe, il gioco è 'sì'. Il numero di casi che obbediscono alla classificazione è 4.
Se la prospettiva è piovosa, avviene un'ulteriore classificazione per analizzare l'attributo “ventoso”. Se ventoso = vero, il gioco = 'no'. Il numero di istanze che obbediscono alla classificazione di outlook = ventoso e ventoso = vero è 2.
Conclusione
WEKA offre un'ampia gamma di set di dati di esempio per applicare algoritmi di apprendimento automatico. Gli utenti possono eseguire attività di apprendimento automatico come classificazione, regressione, selezione di attributi, associazione su questi set di dati di esempio e possono anche apprendere lo strumento che li utilizza.
WEKA explorer viene utilizzato per eseguire diverse funzioni, a partire dalla preelaborazione. La pre-elaborazione accetta l'input come file .arff, elabora l'input e fornisce un output che può essere utilizzato da altri programmi per computer. In WEKA l'output della preelaborazione fornisce gli attributi presenti nel set di dati che possono essere ulteriormente utilizzati per l'analisi statistica e il confronto con le etichette di classe.
WEKA offre anche molti algoritmi di classificazione per l'albero decisionale. J48 è uno dei popolari algoritmi di classificazione che genera un albero decisionale. Utilizzando la scheda Classifica l'utente può visualizzare l'albero decisionale. Se l'albero decisionale è troppo popolato, è possibile applicare l'eliminazione dell'albero dalla scheda Preprocesso rimuovendo gli attributi non richiesti e riavviando il processo di classificazione.
=> Visita qui per l'esclusiva serie di machine learning
Lettura consigliata
- Tutorial Weka - Come scaricare, installare e utilizzare lo strumento Weka
- Come scrivere scenari di test complessi di logica aziendale utilizzando la tecnica della tabella decisionale
- WEKA Explorer: visualizzazione, raggruppamento, estrazione di regole di associazione
- Esempi di algoritmi dell'albero decisionale nel data mining
- Costrutti decisionali in C ++
- Struttura dati B Tree e B + Tree in C ++
- Struttura dei dati dell'albero binario in C ++
- Struttura dei dati ad albero e heap AVL in C ++