Weka - Guida rapida

La base di qualsiasi applicazione di Machine Learning sono i dati: non solo pochi dati, ma enormi dati che vengono definiti Big Data nella terminologia corrente.

Per addestrare la macchina ad analizzare i big data, è necessario avere diverse considerazioni sui dati:

  • I dati devono essere puliti.
  • Non dovrebbe contenere valori nulli.

Inoltre, non tutte le colonne nella tabella dei dati sarebbero utili per il tipo di analisi che stai cercando di ottenere. Le colonne di dati irrilevanti o le "funzionalità" definite nella terminologia di Machine Learning devono essere rimosse prima che i dati vengano inseriti in un algoritmo di machine learning.

In breve, i tuoi big data necessitano di molta pre-elaborazione prima di poter essere utilizzati per il machine learning. Una volta che i dati sono pronti, applicherai vari algoritmi di Machine Learning come classificazione, regressione, clustering e così via per risolvere il problema alla fine.

Il tipo di algoritmi che applichi si basa in gran parte sulla tua conoscenza del dominio. Anche all'interno dello stesso tipo, ad esempio la classificazione, sono disponibili diversi algoritmi. Potresti voler testare i diversi algoritmi nella stessa classe per creare un modello di machine learning efficiente. Nel farlo, preferireste la visualizzazione dei dati elaborati e quindi avrete bisogno anche di strumenti di visualizzazione.

Nei prossimi capitoli imparerai a conoscere Weka, un software che realizza tutto quanto sopra con facilità e ti consente di lavorare comodamente con i big data.

WEKA: un software open source fornisce strumenti per la pre-elaborazione dei dati, l'implementazione di diversi algoritmi di Machine Learning e strumenti di visualizzazione in modo da poter sviluppare tecniche di machine learning e applicarle a problemi di data mining del mondo reale. Ciò che offre WEKA è riassunto nel diagramma seguente:

Se osservi l'inizio del flusso dell'immagine, capirai che ci sono molte fasi nell'affrontare i Big Data per renderlo adatto al machine learning -

Per prima cosa, inizierai con i dati grezzi raccolti dal campo. Questi dati possono contenere diversi valori null e campi irrilevanti. Per ripulire i dati utilizzi gli strumenti di pre-elaborazione dei dati forniti in WEKA.

Quindi, salveresti i dati preelaborati nella tua memoria locale per applicare gli algoritmi ML.

Successivamente, a seconda del tipo di modello ML che stai cercando di sviluppare, seleziona una delle opzioni come Classify, Cluster, o Associate. IlAttributes Selection consente la selezione automatica delle caratteristiche per creare un set di dati ridotto.

Si noti che in ciascuna categoria WEKA fornisce l'implementazione di diversi algoritmi. Dovresti selezionare un algoritmo di tua scelta, impostare i parametri desiderati e eseguirlo sul set di dati.

Quindi, WEKA fornisce i risultati statistici dell'elaborazione del modello. Fornisce uno strumento di visualizzazione per ispezionare i dati.

I vari modelli possono essere applicati sullo stesso dataset. È quindi possibile confrontare le uscite di diversi modelli e selezionare il migliore che soddisfa il proprio scopo.

Pertanto, l'uso di WEKA si traduce in uno sviluppo più rapido di modelli di apprendimento automatico nel complesso.

Ora che abbiamo visto cos'è WEKA e cosa fa, nel prossimo capitolo impariamo come installare WEKA sul tuo computer locale.

Per installare WEKA sulla tua macchina, visita il sito web ufficiale di WEKA e scarica il file di installazione. WEKA supporta l'installazione su Windows, Mac OS X e Linux. Devi solo seguire le istruzioni in questa pagina per installare WEKA per il tuo sistema operativo.

I passaggi per l'installazione su Mac sono i seguenti:

  • Scarica il file di installazione per Mac.
  • Fare doppio clic sul file scaricato weka-3-8-3-corretto-jvm.dmg file.

Verrà visualizzata la seguente schermata se l'installazione è avvenuta con successo.

  • Clicca sul weak-3-8-3-corretto-jvm icona per avviare Weka.
  • Opzionalmente puoi avviarlo dalla riga di comando -
java -jar weka.jar

Verrà avviata l'applicazione WEKA GUI Chooser e verrà visualizzata la seguente schermata:

L'applicazione GUI Chooser consente di eseguire cinque diversi tipi di applicazioni come elencato qui:

  • Explorer
  • Experimenter
  • KnowledgeFlow
  • Workbench
  • CLI semplice

Useremo Explorer in questo tutorial.

In questo capitolo, esaminiamo le varie funzionalità fornite dall'explorer per lavorare con i big data.

Quando fai clic sul file Explorer pulsante in Applications selettore, apre la seguente schermata -

In alto, vedrai diverse schede come elencato qui:

  • Preprocess
  • Classify
  • Cluster
  • Associate
  • Seleziona Attributi
  • Visualize

In queste schede sono presenti diversi algoritmi di apprendimento automatico pre-implementati. Esaminiamo ora ciascuno di essi in dettaglio.

Scheda Preprocesso

All'inizio, quando apri Esplora risorse, solo il file Preprocessla scheda è abilitata. Il primo passaggio nell'apprendimento automatico consiste nel preelaborare i dati. Quindi, inPreprocess opzione, selezionerai il file di dati, lo elaborerai e lo adatterai per l'applicazione dei vari algoritmi di apprendimento automatico.

Classifica tab

Il ClassifyLa scheda fornisce diversi algoritmi di apprendimento automatico per la classificazione dei dati. Per elencarne alcuni, è possibile applicare algoritmi come la regressione lineare, la regressione logistica, le macchine a vettori di supporto, gli alberi decisionali, RandomTree, RandomForest, NaiveBayes e così via. L'elenco è molto esauriente e fornisce algoritmi di machine learning supervisionati e non supervisionati.

Scheda Cluster

Sotto il Cluster scheda, sono forniti diversi algoritmi di clustering, come SimpleKMeans, FilteredClusterer, HierarchicalClusterer e così via.

Scheda Associa

Sotto il Associate scheda, troverai Apriori, FilteredAssociator e FPGrowth.

Seleziona la scheda Attributi

Select Attributes consente di selezionare le funzionalità basate su diversi algoritmi come ClassifierSubsetEval, PrinicipalComponents, ecc.

Visualizza scheda

Infine, il Visualize L'opzione consente di visualizzare i dati elaborati per l'analisi.

Come hai notato, WEKA fornisce diversi algoritmi pronti all'uso per testare e costruire le tue applicazioni di machine learning. Per utilizzare WEKA in modo efficace, è necessario avere una buona conoscenza di questi algoritmi, di come funzionano, quale scegliere in quali circostanze, cosa cercare nel loro output elaborato e così via. In breve, è necessario disporre di solide basi nell'apprendimento automatico per utilizzare WEKA in modo efficace nella creazione delle app.

Nei prossimi capitoli studierai in profondità ogni scheda dell'esploratore.

In questo capitolo, iniziamo con la prima scheda che utilizzi per preelaborare i dati. Questo è comune a tutti gli algoritmi che applicheresti ai tuoi dati per la creazione del modello ed è un passaggio comune per tutte le operazioni successive in WEKA.

Affinché un algoritmo di apprendimento automatico fornisca una precisione accettabile, è importante prima pulire i dati. Questo perché i dati grezzi raccolti dal campo possono contenere valori nulli, colonne irrilevanti e così via.

In questo capitolo imparerai come preelaborare i dati grezzi e creare un dataset pulito e significativo per un ulteriore utilizzo.

Per prima cosa imparerai a caricare il file di dati nell'explorer WEKA. I dati possono essere caricati dalle seguenti fonti:

  • File system locale
  • Web
  • Database

In questo capitolo vedremo in dettaglio tutte e tre le opzioni di caricamento dei dati.

Caricamento dei dati dal file system locale

Appena sotto le schede Machine Learning che hai studiato nella lezione precedente, troverai i seguenti tre pulsanti:

  • Apri il file …
  • Apri URL ...
  • Apri DB ...

Clicca sul Open file... pulsante. Si apre una finestra del navigatore di directory come mostrato nella schermata seguente:

Ora vai alla cartella in cui sono archiviati i tuoi file di dati. L'installazione di WEKA fornisce molti database di esempio da sperimentare. Questi sono disponibili indata cartella dell'installazione WEKA.

A scopo di apprendimento, seleziona qualsiasi file di dati da questa cartella. Il contenuto del file verrebbe caricato nell'ambiente WEKA. Molto presto impareremo come ispezionare ed elaborare questi dati caricati. Prima di ciò, vediamo come caricare il file di dati dal Web.

Caricamento dei dati dal Web

Dopo aver fatto clic sul file Open URL … pulsante, puoi vedere una finestra come segue:

Apriremo il file da un URL pubblico Digita il seguente URL nella finestra popup -

https://storm.cis.fordham.edu/~gweiss/data-mining/weka-data/weather.nominal.arff

Puoi specificare qualsiasi altro URL in cui sono archiviati i tuoi dati. IlExplorer caricherà i dati dal sito remoto nel suo ambiente.

Caricamento dati da DB

Dopo aver fatto clic sul file Open DB ..., puoi vedere una finestra come segue:

Imposta la stringa di connessione al tuo database, imposta la query per la selezione dei dati, elabora la query e carica i record selezionati in WEKA.

WEKA supporta un gran numero di formati di file per i dati. Ecco l'elenco completo -

  • arff
  • arff.gz
  • bsi
  • csv
  • dat
  • data
  • json
  • json.gz
  • libsvm
  • m
  • names
  • xrff
  • xrff.gz

I tipi di file supportati sono elencati nella casella di riepilogo a discesa nella parte inferiore dello schermo. Questo è mostrato nella schermata riportata di seguito.

Come noterai, supporta diversi formati tra cui CSV e JSON. Il tipo di file predefinito è Arff.

Formato Arff

Un Arff il file contiene due sezioni: intestazione e dati.

  • L'intestazione descrive i tipi di attributo.
  • La sezione dati contiene un elenco di dati separati da virgole.

Ad esempio per il formato Arff, il file Weather il file di dati caricato dai database di esempio WEKA è mostrato di seguito:

Dallo screenshot, puoi dedurre i seguenti punti:

  • Il tag @relation definisce il nome del database.

  • Il tag @attribute definisce gli attributi.

  • Il tag @data avvia l'elenco di righe di dati, ciascuna contenente i campi separati da virgole.

  • Gli attributi possono assumere valori nominali come nel caso di Outlook mostrato qui -

@attribute outlook (sunny, overcast, rainy)
  • Gli attributi possono assumere valori reali come in questo caso -

@attribute temperature real
  • Puoi anche impostare una variabile Target o Classe chiamata play come mostrato qui -

@attribute play (yes, no)
  • Il Target assume due valori nominali sì o no.

Altri formati

Explorer può caricare i dati in uno qualsiasi dei formati menzionati in precedenza. Poiché arff è il formato preferito in WEKA, puoi caricare i dati da qualsiasi formato e salvarli nel formato arff per un uso successivo. Dopo aver preelaborato i dati, salvarli nel formato arff per ulteriori analisi.

Ora che hai imparato a caricare i dati in WEKA, nel prossimo capitolo imparerai come preelaborare i dati.

I dati raccolti dal campo contengono molte cose indesiderate che portano a un'analisi sbagliata. Ad esempio, i dati possono contenere campi nulli, possono contenere colonne irrilevanti per l'analisi corrente e così via. Pertanto, i dati devono essere preelaborati per soddisfare i requisiti del tipo di analisi che stai cercando. Questa operazione viene eseguita nel modulo di pre-elaborazione.

Per dimostrare le funzionalità disponibili nella preelaborazione, utilizzeremo il Weather database fornito durante l'installazione.

Usando il Open file ... opzione sotto Preprocess selezionare il tag weather-nominal.arff file.

Quando apri il file, lo schermo appare come mostrato qui -

Questa schermata ci dice molte cose sui dati caricati, che sono discussi ulteriormente in questo capitolo.

Comprensione dei dati

Diamo prima un'occhiata all'evidenziato Current relationfinestra secondaria. Mostra il nome del database attualmente caricato. Puoi dedurre due punti da questa finestra secondaria:

  • Ci sono 14 istanze: il numero di righe nella tabella.

  • La tabella contiene 5 attributi: i campi, discussi nelle sezioni successive.

Sul lato sinistro, notare il Attributes finestra secondaria che mostra i vari campi del database.

Il weatheril database contiene cinque campi: prospettiva, temperatura, umidità, vento e gioco. Quando si seleziona un attributo da questo elenco facendo clic su di esso, ulteriori dettagli sull'attributo stesso vengono visualizzati sul lato destro.

Selezioniamo prima l'attributo della temperatura. Quando fai clic su di esso, vedrai la seguente schermata:

Nel Selected Attribute sottofinestra, puoi osservare quanto segue:

  • Vengono visualizzati il ​​nome e il tipo di attributo.

  • Il tipo per temperature l'attributo è Nominal.

  • Il numero di Missing valori è zero.

  • Esistono tre valori distinti senza valore univoco.

  • La tabella sotto queste informazioni mostra i valori nominali per questo campo come caldo, mite e freddo.

  • Mostra anche il conteggio e il peso in termini di percentuale per ogni valore nominale.

Nella parte inferiore della finestra, vedi la rappresentazione visiva del file class valori.

Se fai clic sul file Visualize All pulsante, sarai in grado di vedere tutte le funzionalità in una singola finestra come mostrato qui -

Rimozione di attributi

Molte volte, i dati che si desidera utilizzare per la creazione di modelli vengono forniti con molti campi irrilevanti. Ad esempio, il database dei clienti può contenere il suo numero di cellulare che è rilevante per l'analisi della sua solvibilità.

Per rimuovere uno o più attributi selezionarli e fare clic su Remove pulsante in basso.

Gli attributi selezionati verranno rimossi dal database. Dopo aver preelaborato completamente i dati, è possibile salvarli per la creazione del modello.

Successivamente, imparerai a preelaborare i dati applicando filtri su questi dati.

Applicazione di filtri

Alcune delle tecniche di apprendimento automatico come il mining di regole di associazione richiedono dati categoriali. Per illustrare l'uso dei filtri, useremoweather-numeric.arff database che ne contiene due numeric attributi - temperature e humidity.

Li convertiremo in nominalapplicando un filtro ai nostri dati grezzi. Clicca sulChoose pulsante in Filter sottofinestra e selezionare il seguente filtro:

weka→filters→supervised→attribute→Discretize

Clicca sul Apply ed esaminare il temperature e / o humidityattributo. Noterai che questi sono cambiati da tipi numerici a nominali.

Esaminiamo ora un altro filtro. Supponi di voler selezionare gli attributi migliori per decidere il fileplay. Seleziona e applica il seguente filtro:

weka→filters→supervised→attribute→AttributeSelection

Noterai che rimuove gli attributi di temperatura e umidità dal database.

Dopo essere soddisfatto della preelaborazione dei dati, salvare i dati facendo clic su Save... pulsante. Utilizzerai questo file salvato per la creazione del modello.

Nel prossimo capitolo esploreremo la costruzione del modello utilizzando diversi algoritmi ML predefiniti.

Molte applicazioni di machine learning sono correlate alla classificazione. Ad esempio, potresti classificare un tumore come maligno o benigno. Potresti decidere se giocare un gioco esterno a seconda delle condizioni meteorologiche. Generalmente, questa decisione dipende da diverse caratteristiche / condizioni meteorologiche. Quindi potresti preferire utilizzare un classificatore ad albero per decidere se giocare o meno.

In questo capitolo impareremo come costruire un tale classificatore ad albero sui dati meteorologici per decidere le condizioni di gioco.

Impostazione dei dati di prova

Useremo il file di dati meteo preelaborato della lezione precedente. Apri il file salvato utilizzando l'estensioneOpen file ... opzione sotto Preprocess fare clic sulla scheda Classify scheda e vedrai la seguente schermata:

Prima di conoscere i classificatori disponibili, esaminiamo le opzioni di test. Noterai quattro opzioni di test elencate di seguito:

  • Set di allenamento
  • Set di prova fornito
  • Cross-validation
  • Ripartizione percentuale

A meno che tu non abbia il tuo set di addestramento o un set di test fornito dal cliente, useresti la convalida incrociata o le opzioni di ripartizione percentuale. Con la convalida incrociata, è possibile impostare il numero di pieghe in cui verranno suddivisi e utilizzati interi dati durante ogni iterazione dell'addestramento. Nella suddivisione percentuale, dividerete i dati tra addestramento e test utilizzando la percentuale di suddivisione impostata.

Ora, mantieni l'impostazione predefinita play opzione per la classe di output -

Successivamente, selezionerai il classificatore.

Selezione del classificatore

Fare clic sul pulsante Scegli e selezionare il seguente classificatore:

weka→classifiers>trees>J48

Questo è mostrato nello screenshot qui sotto -

Clicca sul Startpulsante per avviare il processo di classificazione. Dopo un po ', i risultati della classificazione verranno presentati sullo schermo come mostrato qui -

Esaminiamo l'output mostrato sul lato destro dello schermo.

Dice che la dimensione dell'albero è 6. Vedrai molto presto la rappresentazione visiva dell'albero. Nel Riepilogo, si dice che le istanze classificate correttamente come 2 e le istanze classificate in modo errato come 3, Dice anche che l'errore relativo assoluto è del 110%. Mostra anche la matrice di confusione. Entrare nell'analisi di questi risultati va oltre lo scopo di questo tutorial. Tuttavia, puoi facilmente capire da questi risultati che la classificazione non è accettabile e avrai bisogno di più dati per l'analisi, per perfezionare la selezione delle caratteristiche, ricostruire il modello e così via fino a quando non sarai soddisfatto della precisione del modello. In ogni caso, questo è ciò di cui si occupa WEKA. Ti consente di testare rapidamente le tue idee.

Visualizza i risultati

Per vedere la rappresentazione visiva dei risultati, fare clic con il tasto destro sul risultato nel file Result listscatola. Diverse opzioni appariranno sullo schermo come mostrato qui -

Selezionare Visualize tree per ottenere una rappresentazione visiva dell'albero trasversale come si vede nello screenshot qui sotto -

Selezione Visualize classifier errors traccerebbe i risultati della classificazione come mostrato qui -

UN cross rappresenta un'istanza classificata correttamente mentre squaresrappresenta istanze classificate in modo errato. Nell'angolo in basso a sinistra del grafico vedi un filecross che indica se outlook è soleggiato allora playil gioco. Quindi questa è un'istanza classificata correttamente. Per individuare le istanze, puoi introdurre un po 'di jitter facendo scorrere iljitter barra di scorrimento.

La trama attuale è outlook contro play. Questi sono indicati dalle due caselle di riepilogo a discesa nella parte superiore dello schermo.

Ora, prova una selezione diversa in ciascuna di queste caselle e nota come cambiano gli assi X e Y. Lo stesso può essere ottenuto utilizzando le strisce orizzontali sul lato destro della trama. Ogni striscia rappresenta un attributo. Il clic sinistro sulla striscia imposta l'attributo selezionato sull'asse X mentre un clic destro lo imposta sull'asse Y.

Ci sono molti altri grafici forniti per un'analisi più approfondita. Usali con giudizio per mettere a punto il tuo modello. Uno di questi complotti diCost/Benefit analysis è mostrato di seguito come riferimento rapido.

Spiegare l'analisi in questi grafici va oltre lo scopo di questo tutorial. Il lettore è incoraggiato a rispolverare la propria conoscenza dell'analisi degli algoritmi di apprendimento automatico.

Nel prossimo capitolo impareremo il prossimo set di algoritmi di apprendimento automatico, ovvero il clustering.

Un algoritmo di clustering trova gruppi di istanze simili nell'intero set di dati. WEKA supporta diversi algoritmi di clustering come EM, FilteredClusterer, HierarchicalClusterer, SimpleKMeans e così via. È necessario comprendere completamente questi algoritmi per sfruttare appieno le capacità di WEKA.

Come nel caso della classificazione, WEKA consente di visualizzare graficamente i cluster rilevati. Per dimostrare il clustering, useremo il database iris fornito. Il set di dati contiene tre classi di 50 istanze ciascuna. Ogni classe si riferisce a un tipo di pianta di iris.

Caricamento dati

Nell'explorer WEKA selezionare il file Preprocesstab. Clicca sulOpen file ... e seleziona l'opzione iris.arfffile nella finestra di selezione dei file. Quando carichi i dati, lo schermo appare come mostrato di seguito -

Puoi osservare che ci sono 150 istanze e 5 attributi. I nomi degli attributi sono elencati comesepallength, sepalwidth, petallength, petalwidth e class. I primi quattro attributi sono di tipo numerico mentre la classe è di tipo nominale con 3 valori distinti. Esamina ogni attributo per comprendere le caratteristiche del database. Non eseguiremo alcuna preelaborazione su questi dati e procederemo immediatamente alla creazione del modello.

Clustering

Clicca sul ClusterTAB per applicare gli algoritmi di clustering ai nostri dati caricati. Clicca sulChoosepulsante. Vedrai la seguente schermata:

Ora seleziona EMcome algoritmo di clustering. NelCluster mode finestra secondaria, selezionare il file Classes to clusters evaluation opzione come mostrato nello screenshot qui sotto -

Clicca sul Startpulsante per elaborare i dati. Dopo un po ', i risultati verranno presentati sullo schermo.

Successivamente, studiamo i risultati.

Esame dell'output

L'output dell'elaborazione dei dati è mostrato nella schermata seguente:

Dalla schermata di output, puoi osservare che:

  • Sono presenti 5 istanze cluster rilevate nel database.

  • Il Cluster 0 rappresenta setosa, Cluster 1 rappresenta la virginica, Cluster 2 rappresenta versicolor, mentre gli ultimi due cluster non hanno alcuna classe ad essi associata.

Se scorri verso l'alto la finestra di output, vedrai anche alcune statistiche che danno la media e la deviazione standard per ciascuno degli attributi nei vari cluster rilevati. Questo è mostrato nella schermata riportata di seguito -

Successivamente, esamineremo la rappresentazione visiva dei cluster.

Visualizzazione di cluster

Per visualizzare i cluster, fare clic con il tasto destro del mouse sul file EM risultato in Result list. Vedrai le seguenti opzioni:

Selezionare Visualize cluster assignments. Vedrai il seguente output:

Come nel caso della classificazione, noterai la distinzione tra istanze identificate correttamente e non correttamente. Puoi giocare cambiando gli assi X e Y per analizzare i risultati. Puoi usare il jitter come nel caso della classificazione per scoprire la concentrazione di istanze identificate correttamente. Le operazioni nel grafico di visualizzazione sono simili a quella che hai studiato nel caso della classificazione.

Applicazione di Hierarchical Clusterer

Per dimostrare la potenza di WEKA, esaminiamo ora un'applicazione di un altro algoritmo di clustering. Nell'explorer WEKA selezionare il fileHierarchicalClusterer come algoritmo ML come mostrato nello screenshot mostrato di seguito -

Scegli il Cluster mode selezione a Classes to cluster evaluatione fare clic su Startpulsante. Vedrai il seguente output:

Si noti che in Result list, sono elencati due risultati: il primo è il risultato EM e il secondo è l'attuale Gerarchico. Allo stesso modo, puoi applicare più algoritmi ML allo stesso set di dati e confrontare rapidamente i loro risultati.

Se esamini l'albero prodotto da questo algoritmo, vedrai il seguente output:

Nel prossimo capitolo studierai il Associate tipo di algoritmi ML.

È stato osservato che le persone che comprano la birra acquistano anche i pannolini allo stesso tempo. Cioè c'è un'associazione nell'acquistare birra e pannolini insieme. Anche se questo non sembra convincente, questa regola di associazione è stata estratta da enormi database di supermercati. Allo stesso modo, si può trovare un'associazione tra burro di arachidi e pane.

Trovare tali associazioni diventa vitale per i supermercati in quanto immagazzinerebbero i pannolini accanto alle birre in modo che i clienti possano individuare facilmente entrambi gli articoli con conseguente aumento delle vendite per il supermercato.

Il Apriorialgoritmo è uno di questi algoritmi in ML che scopre le associazioni probabili e crea regole di associazione. WEKA fornisce l'implementazione dell'algoritmo Apriori. È possibile definire il supporto minimo e un livello di confidenza accettabile durante il calcolo di queste regole. Applicherai ilApriori algoritmo al supermarket dati forniti nell'installazione WEKA.

Caricamento dati

Nell'explorer WEKA, apri il file Preprocess fare clic sulla scheda Open file ... e selezionare supermarket.arffdatabase dalla cartella di installazione. Dopo che i dati sono stati caricati, vedrai la seguente schermata:

Il database contiene 4627 istanze e 217 attributi. Puoi facilmente capire quanto sarebbe difficile rilevare l'associazione tra un numero così elevato di attributi. Fortunatamente, questa attività è automatizzata con l'aiuto dell'algoritmo Apriori.

Associatore

Clicca sul Associate TAB e fare clic su Choosepulsante. Seleziona ilApriori associazione come mostrato nello screenshot -

Per impostare i parametri per l'algoritmo Apriori, fare clic sul suo nome, si aprirà una finestra come mostrato di seguito che consente di impostare i parametri:

Dopo aver impostato i parametri, fare clic su Startpulsante. Dopo un po 'vedrai i risultati come mostrato nello screenshot qui sotto -

In basso, troverai le migliori regole di associazione rilevate. Ciò aiuterà il supermercato a immagazzinare i propri prodotti negli scaffali appropriati.

Quando un database contiene un numero elevato di attributi, ci saranno diversi attributi che non diventano significativi nell'analisi che stai cercando. Pertanto, la rimozione degli attributi indesiderati dal set di dati diventa un'attività importante nello sviluppo di un buon modello di apprendimento automatico.

È possibile esaminare visivamente l'intero set di dati e decidere gli attributi irrilevanti. Questo potrebbe essere un compito enorme per i database contenenti un gran numero di attributi come il caso del supermercato che hai visto in una lezione precedente. Fortunatamente, WEKA fornisce uno strumento automatizzato per la selezione delle caratteristiche.

In questo capitolo viene illustrata questa funzione su un database contenente un gran numero di attributi.

Caricamento dati

Nel Preprocess di WEKA explorer, selezionare il labor.arfffile per il caricamento nel sistema. Quando carichi i dati, vedrai la seguente schermata:

Notare che ci sono 17 attributi. Il nostro compito è creare un dataset ridotto eliminando alcuni degli attributi che sono irrilevanti per la nostra analisi.

Caratteristiche Estrazione

Clicca sul Select attributesTAB.Vedrai la seguente schermata:

Sotto il Attribute Evaluator e Search Method, troverai diverse opzioni. Useremo solo le impostazioni predefinite qui. NelAttribute Selection Mode, utilizzare l'opzione set completo di allenamento.

Fare clic sul pulsante Start per elaborare il set di dati. Vedrai il seguente output:

Nella parte inferiore della finestra dei risultati, otterrai l'elenco dei file Selectedattributi. Per ottenere la rappresentazione visiva, fare clic con il pulsante destro del mouse sul risultato nel fileResult elenco.

L'output è mostrato nella seguente schermata:

Fare clic su uno qualsiasi dei quadrati ti darà il grafico dei dati per la tua ulteriore analisi. Di seguito è mostrato un tipico grafico dei dati:

Questo è simile a quelli che abbiamo visto nei capitoli precedenti. Gioca con le diverse opzioni disponibili per analizzare i risultati.

Qual è il prossimo?

Finora hai visto la potenza di WEKA nello sviluppo rapido di modelli di machine learning. Quello che abbiamo usato è uno strumento grafico chiamatoExplorerper sviluppare questi modelli. WEKA fornisce anche un'interfaccia a riga di comando che ti dà più potenza di quella fornita dall'explorer.

Facendo clic su Simple CLI pulsante in GUI Chooser l'applicazione avvia questa interfaccia della riga di comando che è mostrata nello screenshot qui sotto -

Digita i tuoi comandi nella casella di input in basso. Sarai in grado di fare tutto ciò che hai fatto finora in Explorer e molto altro ancora. Fare riferimento alla documentazione WEKA (https://www.cs.waikato.ac.nz/ml/weka/documentation.html) per ulteriori dettagli.

Infine, WEKA è sviluppato in Java e fornisce un'interfaccia alla sua API. Quindi, se sei uno sviluppatore Java e desideri includere le implementazioni WEKA ML nei tuoi progetti Java, puoi farlo facilmente.

Conclusione

WEKA è un potente strumento per lo sviluppo di modelli di machine learning. Fornisce l'implementazione di diversi algoritmi ML più ampiamente utilizzati. Prima che questi algoritmi vengano applicati al tuo set di dati, ti consente anche di preelaborare i dati. I tipi di algoritmi supportati sono classificati negli attributi Classify, Cluster, Associate e Select. Il risultato nelle varie fasi della lavorazione può essere visualizzato con una rappresentazione visiva bella e potente. Ciò rende più facile per un Data Scientist applicare rapidamente le varie tecniche di apprendimento automatico sul suo set di dati, confrontare i risultati e creare il modello migliore per l'uso finale.