Galleria mappe mentale Strumento di data mining——WEKA
WEKA è uno strumento completo di data mining che integra preelaborazione dei dati, algoritmi di apprendimento (classificazione, regressione, clustering, analisi di correlazione) e metodi di valutazione. Questa mappa mentale introduce come utilizzare WEKA. Spero che possa essere utile a tutti!
Modificato alle 2023-07-07 16:09:18Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Strumento di data mining——WEKA
Introduzione a WEKA
Il nome completo di WEKA è Waikato Environment for Knowledge Analysis
WEKA è anche il nome di un uccello in Nuova Zelanda. È un software open source di machine learning/data mining sviluppato in Java dal team WEKA dell'Università di Waikato in Nuova Zelanda.
Ottieni il suo codice sorgente
http://www.cs.waikato.ac.nz/ml/weka/
http://prdownloads.sourceforge.net/weka/weka-3-6-6jre.exe
Nell'agosto 2005, all'undicesima conferenza internazionale ACM SIGKDD, il gruppo WEKA dell'Università di Waikato ha vinto il più alto riconoscimento di servizio nel campo del data mining e dell'esplorazione della conoscenza. Il sistema WEKA è stato ampiamente riconosciuto ed è stato acclamato come leader nel data mining e l'apprendimento automatico. Le pietre miliari dell'apprendimento nella storia sono uno degli strumenti di data mining più completi oggi disponibili. WEKA è stato scaricato più di 10.000 volte al mese.
caratteristica principale
È uno strumento completo di data mining che integra preelaborazione dei dati, algoritmi di apprendimento (classificazione, regressione, clustering, analisi di correlazione) e metodi di valutazione.
Ha un'interfaccia visiva interattiva
Fornire un ambiente di apprendimento e confronto degli algoritmi
Attraverso la sua interfaccia, puoi implementare i tuoi algoritmi di data mining
Ambiente Explorer
Diverse schede nell'area 1 vengono utilizzate per passare da un pannello all'altro delle attività di mining.
Preprocess (preelaborazione dei dati): Selezionare e modificare i dati da elaborare.
Classificare: addestrare e testare modelli di classificazione o regressione.
Cluster: clustering da dati.
Associa: apprendi le regole di associazione dai dati.
Seleziona attributi: seleziona gli attributi più rilevanti nei dati.
Visualizza: visualizza un grafico a dispersione bidimensionale dei dati.
L'area 2 contiene alcuni pulsanti comunemente utilizzati. Comprese funzioni come l'apertura, la modifica, il salvataggio dei dati e la conversione dei dati. Ad esempio, possiamo salvare il file "bank-data.csv" come "bank-data.arff".
Nell'area 3, puoi scegliere un filtro per filtrare i dati o eseguire qualche trasformazione sui dati. La preelaborazione dei dati viene implementata principalmente utilizzandolo.
L'area 4 mostra le informazioni di base del set di dati come il nome della relazione, il numero di attributi e il numero di istanze.
Tutte le proprietà del dataset sono elencate nell'area 5.
Puoi eliminare alcuni attributi selezionandoli e "Rimuovi". Dopo l'eliminazione, puoi anche utilizzare il pulsante "Annulla" nell'area 2 per recuperarli.
La fila di pulsanti sopra l'area 5 viene utilizzata per un controllo rapido.
L'area 6 visualizza un riepilogo dell'attributo corrente selezionato nell'area 5.
Il riepilogo include nome dell'attributo (Name), tipo di attributo (Type), numero e proporzione di valori mancanti (Missing), numero di valori diversi (Distinct), numero e proporzione di valori univoci (Unique)
Il metodo di riepilogo è diverso per gli attributi numerici e per gli attributi nominali. Nella figura è riportato un riepilogo dell'attributo numerico “reddito”.
Gli attributi numerici mostrano il valore minimo (Minimum), il valore massimo (Maximum), la media (Mean) e la deviazione standard (StdDev)
Le proprietà nominali mostrano il conteggio di ciascun valore distinto
L'area 7 è l'istogramma dell'attributo selezionato nell'area 5.
Se l'ultimo attributo del set di dati (che è la variabile di destinazione predefinita per le attività di classificazione o regressione) è una variabile di etichetta di classe (ad esempio "pep"), ogni rettangolo nell'istogramma è diviso in segmenti di colore diverso proporzionali a quella variabile.
Se desideri modificare la base della segmentazione, seleziona semplicemente un attributo di classificazione diverso nella casella a discesa sopra l'area 7.
Selezionando "Nessuna classe" o un attributo numerico nella casella a discesa si trasformerà in un istogramma in bianco e nero.
Area 8 L'area inferiore della finestra, inclusa la barra di stato, il pulsante di registro e l'uccello Weka.
La barra di stato (Status) mostra alcune informazioni per farti sapere cosa si sta facendo. Ad esempio, se Explorer è occupato a caricare un file, verrà visualizzata una notifica nella barra di stato.
Facendo clic con il tasto destro del mouse in un punto qualsiasi della barra di stato verrà visualizzato un piccolo menu. Questo menu offre due opzioni:
Informazioni sulla memoria: visualizza la quantità di memoria disponibile per WEKA.
Esegui Garbage Collector: forza il Garbage Collector Java a cercare lo spazio di memoria non più necessario e a rilasciarlo, in modo che sia possibile allocare più memoria per nuove attività.
Il pulsante Log permette di visualizzare i log delle operazioni di weka.
Se l'uccello weka a destra si muove, significa che WEKA sta eseguendo un lavoro di scavo.
Ambiente KnowledgeFlow
Set di dati WEKA
Il set di dati elaborato da WEKA è una tabella bidimensionale di file .arff
Una riga nella tabella viene denominata istanza, che equivale a un campione nelle statistiche o a un record nel database.
Una riga verticale è chiamata attributo, che equivale a una variabile nelle statistiche o a un campo in un database.
Una tabella di questo tipo, o insieme di dati, secondo WEKA, presenta una relazione (Relazione) tra gli attributi.
Nell'immagine sopra ci sono 14 istanze, 5 attributi e il nome della relazione è "meteo".
Il formato in cui WEKA memorizza i dati è un file ARFF (Attribute-Relation File Format), ovvero un file di testo ASCII.
La tabella bidimensionale mostrata sopra è memorizzata nel seguente file ARFF. Questo è il file "weather.arff" allegato a WEKA e si trova nella sottodirectory "data" della directory di installazione di WEKA.
Il formato in cui WEKA memorizza i dati è il file ARFF (Attribute-Relation File Format).
Questo è un file di testo ASCII (ASCII ((American Standard Code for Information Interchange): American Standard Code for Information Interchange))
L'estensione del file è .arff
È possibile utilizzare WordPad per aprire e modificare i file ARFF
Le righe nel file che iniziano con "%" sono commenti e WEKA le ignorerà.
Dopo aver rimosso i commenti, l'intero file ARFF può essere diviso in due parti:
La prima parte fornisce le informazioni di intestazione (Head information), inclusa la dichiarazione delle relazioni e la dichiarazione degli attributi.
La seconda parte fornisce le informazioni sui dati (Data information), ovvero i dati forniti nel set di dati. Partendo dal tag "@data", ciò che segue sono le informazioni sui dati.
Dichiarazione di relazione
Il nome della relazione è definito nella prima riga valida del file ARFF, nel formato: @relation <nome relazione>
<nome relazione> è una stringa. Se questa stringa contiene spazi, deve essere racchiusa tra virgolette (virgolette singole o doppie per la punteggiatura inglese).
Dichiarazione di proprietà
Le dichiarazioni di attributo sono rappresentate da un elenco di istruzioni che iniziano con "@attribute".
Ogni attributo nel set di dati ha un'istruzione "@attribute" corrispondente per definire il nome dell'attributo e il tipo di dati (tipo di dati): @attribute <nome attributo> <tipo di dati>
Dove <nome proprietà> deve essere una stringa che inizia con una lettera. Come con i nomi delle relazioni, se questa stringa contiene spazi, deve essere racchiusa tra virgolette.
L'ordine delle dichiarazioni di attributo è importante, poiché indica la posizione dell'attributo nella sezione dati.
Ad esempio "umidità" è il terzo attributo dichiarato, ciò significa che tra le colonne separate da virgole nella parte dati, il dato della colonna 2 (a partire dalla colonna 0) 85 90 86 96 ... è la corrispondente "umidità" valore.
In secondo luogo, l'ultimo attributo dichiarato è chiamato attributo classe, che è la variabile obiettivo predefinita nelle attività di classificazione o regressione.
tipo di dati
tipo numerico numerico
Gli attributi numerici possono essere numeri interi o numeri reali, ma WEKA li tratta tutti come numeri reali. Ad esempio: @attribute temperature real
<specifica-nominale> Tipo nominale
Gli attributi nominali consistono in un elenco <specifica-nominale> di possibili nomi di categorie racchiusi tra parentesi graffe: {<nome-nominale1>, <nome-nominale2>, <nome-nominale3>, ...}.
Il valore di questo attributo nel set di dati può essere solo una delle categorie.
Ad esempio, la dichiarazione di attributo: @attribute outlook {soleggiato, coperto, piovoso} indica che l'attributo "prospettiva" ha tre categorie: "soleggiato", "nuvoloso" e "piovoso". Il valore "outlook" corrispondente a ciascuna istanza nel set di dati deve essere uno di questi tre.
Se il nome della categoria contiene spazi, è comunque necessario racchiuderlo tra virgolette.
tipo di stringa stringa
Le proprietà della stringa possono contenere testo arbitrario. Ad esempio: @attribute stringa LCC
date [<formato-data>] tipo di data e ora
Gli attributi di data e ora sono rappresentati in modo uniforme dal tipo "data" e il suo formato è: @attribute <nome attributo> data [<formato-data>]
Dove <formato-data> è una stringa che specifica come analizzare e visualizzare il formato della data o dell'ora. La stringa predefinita è il formato della combinazione di data e ora fornito da ISO-8601: "aaaa-MM-gg HH:mm:ss"
La stringa che esprime la data nella parte relativa alle informazioni sui dati deve rispettare i requisiti di formato specificati nell'istruzione, ad esempio: @ATTRIBUTE timestamp DATE "aaaa-MM-gg HH:mm:ss" @DATA "2011-05-03 12: 59:55"
Avviso
Esistono altri due tipi "intero" e "reale" che possono essere utilizzati, ma WEKA li tratta entrambi come "numerici".
Le parole chiave "intero", "reale", "numerico", "data" e "stringa" fanno distinzione tra maiuscole e minuscole, mentre "relazione", "attributo" e "dati" non lo fanno.
Informazioni sui dati
Nelle informazioni sui dati, il tag "@data" occupa una riga esclusiva e il resto sono i dati di ciascuna istanza.
Ogni istanza occupa una riga e i valori degli attributi dell'istanza sono separati da virgole ",".
Se il valore di un attributo è un valore mancante, viene rappresentato da un punto interrogativo "?" e questo punto interrogativo non può essere omesso.
dati sparsi
A volte il set di dati contiene un numero elevato di valori 0. In questo caso, è più risparmio di spazio archiviare i dati in formato sparse.
Il formato sparso serve per la rappresentazione di un oggetto nelle informazioni sui dati e non richiede la modifica di altre parti del file ARFF.
Ad esempio dati: @data 0, X, 0, Y, "classe A" 0, 0, W, 0, "classe B"
Espresso in formato sparso, è @data {1 X, 3 Y, 4 "classe A"} {2 W, 4 "classe B"}
Nota: la colonna degli attributi più a sinistra del set di dati ARFF è la colonna 0. Pertanto, 1 X significa che X è il valore dell'attributo nella colonna 1.
preparazione dei dati
raccolta dati
Utilizza direttamente i dati del file ARFF.
Importa da file CSV, C4.5, binari e altri formati.
Leggere i dati dal database SQL tramite JDBC.
Ottieni i dati sulle risorse di rete dall'URL (Uniform Resource Locator).
Conversione del formato dei dati
Il formato ARFF è il miglior formato file supportato da WEKA.
Quando si utilizza WEKA per il data mining, il primo problema da affrontare è spesso che i dati non sono in formato ARFF.
WEKA fornisce anche il supporto per i file CSV e questo formato è supportato da molti altri software (come Excel).
WEKA può essere utilizzato per convertire il formato file CSV nel formato file ARFF.
Risorse di dati
Set di dati propri di WEKA C:\Programmi\Weka-3-6\data
Risorse di dati di rete http://archive.ics.uci.edu/ml/datasets.html
.XLS——> .CSV——> .ARFF
Il file XLS di Excel consente di posizionare più tabelle bidimensionali in diversi fogli di lavoro (Fogli) e ciascun foglio di lavoro può essere salvato solo come file CSV diverso.
Apri un file XLS e passa al foglio di lavoro che deve essere convertito, salvalo come tipo CSV, fai clic su "OK", "Sì" e ignora la richiesta per completare l'operazione.
Aprire un file di tipo CSV in WEKA e salvarlo come file di tipo ARFF.
preelaborazione dei datipreelaborazione
Gli strumenti di preelaborazione dei dati in WEKA si chiamano filtri
È possibile definire filtri per trasformare i dati in vari modi.
La colonna Filtro viene utilizzata per effettuare le impostazioni necessarie per vari filtri.
Pulsante Scegli: fare clic su questo pulsante per selezionare un filtro in WEKA.
Quando viene selezionato un filtro, il suo nome e le sue opzioni vengono visualizzati nella casella di testo accanto al pulsante Scegli.
Caricamento dati
I primi quattro pulsanti nell'area 2 della pagina di preelaborazione di Explorer vengono utilizzati per caricare i dati in WEKA:
Apri file.... Apre una finestra di dialogo che consente di cercare file di dati nel file system locale.
Apri URL.... Richiede un indirizzo URL che contiene dati.
Apri DB.... Leggi i dati dal database.
Genera.... Genera dati artificiali da alcuni DataGenerator.
Rimuovi gli attributi inutili
Solitamente per le attività di data mining, informazioni come l'ID sono inutili e possono essere cancellate.
Controllare l'attributo "id" nell'area 5 e fare clic su "Rimuovi". Salvare il nuovo set di dati e riaprirlo
Discretizzazione dei dati
Alcuni algoritmi (come l'analisi di correlazione) possono gestire solo attributi nominali. In questo caso, gli attributi numerici devono essere discretizzati.
Gli attributi numerici con valori limitati possono essere discretizzati modificando il tipo di dati dell'attributo nel file .arff.
Ad esempio, l'attributo "figli" in un determinato set di dati ha solo 4 valori numerici: 0, 1, 2 e 3.
Modifichiamo direttamente il file ARFF e cambiamo il numero @attribute children in @attribute children {0,1,2,3}.
Riapri "bank-data.arff" in "Explorer" e osserva che dopo aver selezionato l'attributo "children", il "Type" visualizzato nell'area 6 cambia in "Nominal".
Per attributi numerici con molti valori la discretizzazione può essere effettuata con l'aiuto di un filtro denominato "Discretizza" in WEKA.
Fare clic su "Scegli" nell'area 2, verrà visualizzato un "albero dei filtri", trovare "weka.filters.unsupervised.attribute.Discretize" livello per livello e fare clic.
La casella di testo accanto a "Scegli" ora dovrebbe dire "Discretizza -B 10 -M -0.1 -R penultimo".
Facendo clic su questa casella di testo verrà visualizzata una nuova finestra per modificare i parametri di discretizzazione.
ClassificareClassificare
WEKA colloca nella scheda "Classificare" sia la classificazione che la regressione.
In entrambe le attività di data mining è presente un attributo di destinazione (attributo di categoria, variabile di output).
Speriamo di eseguire una previsione di classificazione sugli attributi target basata su un insieme di attributi caratteristici (variabili di input) di un'istanza WEKA.
Per raggiungere questo obiettivo, è necessario disporre di un set di dati di addestramento in cui siano noti l'input e l'output di ciascuna istanza. Osservando le istanze nel training set, è possibile costruire un modello di classificazione/regressione predittiva.
Con questo modello è possibile effettuare previsioni di classificazione per nuove istanze sconosciute.
Misurare la qualità di un modello dipende principalmente dall’accuratezza delle sue previsioni.
Algoritmi di classificazione tipici in WEKA
Bayes: classificatore bayesiano
BayesNet: rete di credenze bayesiane
NaïveBayes: Rete Naive Bayes
xMultilayerPerceptron: rete neurale artificiale feedforward multistrato
SMO: supporto macchina vettoriale (utilizzando il metodo di apprendimento dell'ottimizzazione sequenziale)
Lazy: classificatore basato sull'istanza
IB1: classificatore del vicino più vicino
IBk: k-classificatore del vicino più vicino
Scegli un algoritmo di classificazione
Meta: metodo di combinazione
AdaBoostM1: metodo AdaBoost M1
Insaccamento: metodo di insaccamento
Regole: classificatore basato su regole
JRip: Metodo diretto - Algoritmo Ripper
Parte: Metodo indiretto - Estrazione di regole dagli alberi decisionali generati da J48
Alberi: classificatore di alberi decisionali
Id3: algoritmo di apprendimento dell'albero decisionale ID3 (gli attributi continui non sono supportati)
J48: Algoritmo di apprendimento dell'albero decisionale C4.5 (versione 8)
REPTree: algoritmo di apprendimento dell'albero decisionale che utilizza la potatura per la riduzione degli errori
RandomTree: metodo di combinazione basato su alberi decisionali
Scegli un metodo di valutazione del modello (quattro tipi)
Utilizzo del set di addestramento Valutazione utilizzando il set di addestramento
Set di test fornito Utilizzare la valutazione del set di test
Convalida incrociata Convalida incrociata
Imposta la piega Pieghe
Metodo di conservazione suddiviso in percentuale. Utilizzare una certa percentuale di esempi di formazione per la valutazione
Imposta la percentuale di istanze di formazione
Fare clic sul pulsante Altre opzioni per impostare più opzioni di test:
Modello di output. Produce un modello di classificazione basato sull'intero set di training in modo che il modello possa essere visualizzato, visualizzato, ecc. Questa opzione è selezionata per impostazione predefinita.
Genera statistiche per classe. Genera le statistiche di precisione/richiamo e vero/falso di ciascuna classe. Questa opzione è selezionata per impostazione predefinita.
Misure di valutazione dell'output. Misure di stima dell'entropia dell'output. Questa opzione non è selezionata per impostazione predefinita.
Matrice di confusione di output. Restituisce la matrice di confusione dei risultati della previsione del classificatore. Questa opzione è selezionata per impostazione predefinita.
Archiviare le previsioni per la visualizzazione. Registrare le previsioni del classificatore in modo che possano essere rappresentate visivamente.
Previsioni di output. Emette i risultati della previsione dei dati del test. Tieni presente che durante la convalida incrociata, il numero di un'istanza non rappresenta la sua posizione nel set di dati.
Valutazione sensibile ai costi. L'errore sarà stimato sulla base di una matrice di valori. Il pulsante Imposta… viene utilizzato per specificare la matrice dei valori.
Seme casuale per xval/% suddivisione Specifica un seme casuale utilizzato per randomizzare i dati quando è necessario dividerli a scopo di valutazione.
Analisi dei risultati del testo
Fare clic sul pulsante di avvio e le informazioni sul risultato del testo verranno visualizzate nella finestra di output del Classificatore:
Esegui informazioni Esegui informazioni
Modello di classificazione (set di training completo) Un modello di classificazione costruito utilizzando tutti i dati di training
Riepilogo Riepilogo degli effetti di previsione per il set di training/test.
Accuratezza dettagliata per classe Una descrizione dettagliata dell'accuratezza della previsione per ciascuna classe.
Matrice di confusione Matrice di confusione, dove le righe della matrice sono le classi effettive, le colonne della matrice sono le classi previste e gli elementi della matrice sono il numero di campioni di test corrispondenti.
principali indicatori
Istanze classificate correttamente Tasso di classificazione corretto
Istanze classificate in modo errato Tasso di classificazione degli errori
Statistica Kappa Statistica Kappa
Errore assoluto medio errore assoluto medio
Errore quadratico medio radice errore quadratico medio
Errore assoluto relativo Errore assoluto relativo
Errore radice quadrata relativa Errore radice quadrata relativa
Tasso TP (cattivo/buono) tasso corretto
Tasso FP (cattivo/buono) tasso di falsi positivi
Precisione(cattiva/buona) accuratezza
Tasso di feedback di richiamo (cattivo/buono).
Misura F(cattivo/buono) Misura F
Tempo impiegato per costruire il modello Tempo impiegato per costruire il modello
Risultati grafici in uscita
Visualizza nella finestra principale. Visualizza l'output nella finestra principale.
Visualizza in una finestra separata. Aprire una nuova finestra separata per visualizzare i risultati.
Salva buffer dei risultati (salva il buffer dei risultati). Viene visualizzata una finestra di dialogo per salvare i risultati dell'output in un file di testo.
Carica modello (modalità download). Carica un oggetto in modalità preaddestrata da un file binario.
Salva modello. Salva un oggetto schema in un file binario, ovvero nel formato oggetto seriale di JAVA.
Rivalutare il modello sul set di test corrente (rivalutare il set di test corrente). Testare il set di dati specificato attraverso lo schema stabilito e utilizzare il pulsante Imposta... sotto l'opzione Set di test fornito.
Visualizza gli errori del classificatore. Viene visualizzata una finestra di visualizzazione per visualizzare il grafico dei risultati del classificatore. Tra questi, le istanze classificate correttamente sono rappresentate da croci, mentre le istanze classificate in modo errato sono rappresentate da quadratini.
Grafico a dispersione delle classi effettive rispetto a quelle previste. I risultati della classificazione corretta sono rappresentati da croci, mentre i risultati della classificazione errata sono rappresentati da caselle.
Visualizza albero (visualizzazione dell'albero). Se possibile, viene visualizzata un'interfaccia grafica per descrivere la struttura del modello di classificatore (disponibile solo per alcuni classificatori). Fare clic con il tasto destro su un'area vuota per visualizzare un menu, trascinare il mouse nel pannello e fare clic per visualizzare le istanze di training corrispondenti a ciascun nodo.
Visualizza la curva del margine. Produrre un grafico a dispersione che rappresenti i margini di previsione. Il margine è definito come la differenza tra la probabilità di prevedere un valore vero e la probabilità più alta di prevedere qualcosa di diverso dal valore vero. Ad esempio, gli algoritmi accelerati funzionano meglio sui set di dati di test aumentando i margini sul set di dati di training.
Creare un grafico a dispersione per visualizzare i valori marginali previsti.
quattro variabili
Margine: valore marginale previsto
Numero_istanza: numero di serie dell'istanza di ispezione
Corrente: il numero di istanze con il valore del margine previsto corrente
Cumulativo: il numero di istanze inferiori o uguali al valore marginale previsto (coerente con Instance_number)
Fare clic sull'istanza di test n. 8, che mostra che il valore marginale di questo punto è 0,5 e che ci sono 7 istanze con valori marginali inferiori a 0,5.
Visualizza curva di soglia (visualizzazione della curva di soglia). Viene prodotto un grafico a dispersione per descrivere il problema del compromesso nella previsione, in cui il compromesso viene catturato variando la soglia tra le classi. Ad esempio, la soglia predefinita è 0,5 e la probabilità che si prevede che un'istanza sia positiva deve essere maggiore di 0,5, poiché la previsione esatta dell'istanza sarà positiva a 0,5. Inoltre, i grafici possono essere utilizzati per visualizzare il compromesso tra precisione e feedback, come l'analisi della curva ROC (rapporto positivo tra corretto e rapporto positivo tra errore) e altre curve.
La soglia è la probabilità minima di classificare l'istanza di test nella classe corrente. Il colore del punto viene utilizzato per rappresentare la soglia.
Ogni punto sulla curva viene generato modificando la dimensione della soglia
È possibile eseguire l'analisi ROC
L'asse X seleziona il tasso di falsi positivi
L'asse Y seleziona la velocità reale
Curva ROC
La curva ROC (Receiver Operating Characteristic Curve) è un metodo grafico che mostra il compromesso tra il tasso di veri positivi e il tasso di falsi positivi del modello di classificazione.
Supponendo che i campioni possano essere suddivisi in categorie positive e negative, interpretare alcune definizioni concettuali dei grafici ROC:
Vero positivo (TP), un campione positivo previsto come positivo dal modello
Falso negativo (FN) è un campione positivo previsto come negativo dal modello
Il falso positivo (FP) è un campione negativo che il modello prevede come positivo
Vero negativo (TN) Campioni negativi previsti come negativi dal modello
Tasso vero positivo (TPR) o sensibilità TPR = TP / (TP FN) Numero di risultati previsti per i campioni positivi/numero effettivo di campioni positivi
Tasso di falsi positivi (FPR) FPR = FP / (FP TN) Numero di risultati di campioni negativi previsti come positivi/numero effettivo di campioni negativi
(TPR=1,FPR=0) è un modello ideale
Un buon modello di classificazione dovrebbe essere il più vicino possibile all'angolo superiore sinistro del grafico.
Visualizza curva di costo (visualizzazione della curva di costo). Produrre un grafico a dispersione che rappresenti accuratamente i costi attesi, come descritto da Drummond e Holte.
ClusterCluster
L'analisi dei cluster assegna oggetti a ciascun cluster in modo che gli oggetti nello stesso cluster siano simili e gli oggetti in cluster diversi siano diversi.
WEKA mette a disposizione strumenti di analisi dei cluster nella sezione "Cluster" dell'interfaccia "Explorer".
I principali algoritmi includono:
SimpleKMeans: algoritmo K-means che supporta attributi categoriali
displayStdDevs: se visualizzare la deviazione standard degli attributi numerici e il numero di attributi categoriali
distanceFunction: seleziona la funzione di distanza per le istanze di confronto
(Predefinito: weka.core.EuclideanDistance)
dontReplaceMissingValues: indica se non utilizzare media/modalità per sostituire i valori mancanti.
maxIterations: numero massimo di iterazioni
numClusters: numero di cluster per il clustering
preserveInstancesOrder: se pre-organizzare l'ordine delle istanze
Seme: imposta un valore seme casuale
DBScan: algoritmo basato sulla densità che supporta attributi categorici
EM — Algoritmo di clustering basato su modelli di miscele
FathestFirst: algoritmo del punto centrale K
OTTICA: un altro algoritmo basato sulla densità
Ragnatela: algoritmo di clustering dei concetti
SIB: algoritmo di clustering basato sulla teoria dell'informazione, non supporta attributi categorici
XMeans: un algoritmo K-means esteso in grado di determinare automaticamente il numero di cluster. Non supporta attributi categorici.
Modalità clusterModalità cluster
Utilizza set di training: riporta i risultati del clustering e del raggruppamento per gli oggetti addestrati
Utilizza set di training: riporta i risultati del clustering e del raggruppamento per gli oggetti addestrati
Set di test fornito: riporta i risultati del clustering per oggetti di training e i risultati del raggruppamento per oggetti di test aggiuntivi
Suddivisione percentuale: riporta i risultati del clustering per tutti gli oggetti, i risultati del clustering per gli oggetti di training e il raggruppamento dei risultati per gli oggetti di test
Valutazione supervisionata (valutazione da classi a cluster): riporta i risultati di clustering e raggruppamento, matrici di confusione di classi/cluster e informazioni di raggruppamento errato per gli oggetti di training
Esegui l'algoritmo di clustering
Fare clic sul pulsante "Start" per eseguire l'algoritmo di clustering
Osservare i risultati del clustering
Osservare i risultati del clustering forniti da "output del clusterer" sulla destra. Puoi anche fare clic con il pulsante destro del mouse sul risultato generato questa volta nell'"Elenco dei risultati" nell'angolo in basso a sinistra e su "Visualizza in una finestra separata" per sfogliare i risultati in una nuova finestra.
Nota: le informazioni sull'esecuzione di cui sopra verranno visualizzate solo se viene utilizzato il clustering supervisionato (ovvero, l'etichetta della classe del set di dati di modellazione è nota).
analisi del testo
SimpleKMeans
Modalità non supervisionata: informazioni sull'esecuzione, risultati KMeans (numero di iterazioni, SSE, centri dei cluster), informazioni sul raggruppamento degli oggetti di ispezione
Modalità supervisionata: informazioni in esecuzione, risultati KMeans (numero di iterazioni, SSE, centri cluster), matrice di confusione classe/cluster, numero e proporzione di oggetti raggruppati in modo errato
Centro del cluster: media per attributi numerici e modalità per attributi categoriali
DBScan
Modalità non supervisionata: informazioni sull'esecuzione, risultati DBScan (numero di iterazioni, informazioni sul raggruppamento di ciascun oggetto di addestramento), informazioni sul raggruppamento degli oggetti di test
Modalità di supervisione: informazioni in esecuzione, risultati DBScan (numero di iterazioni, informazioni sul raggruppamento di ciascun oggetto di addestramento), matrice di confusione classe/cluster, numero e proporzione di oggetti raggruppati in modo errato
analisi grafica
I cluster di negozi per la visualizzazione devono essere selezionati
Visualizza le assegnazioni dei cluster: grafico a dispersione 2D in grado di visualizzare la matrice di confusione classe/cluster
Informazioni importanti sull'output
La "somma degli errori quadratici all'interno del cluster" è lo standard per valutare la qualità del clustering: SSE, che è la somma degli errori quadratici. Minore è il valore SSE, migliore sarà il risultato del clustering.
"Centroidi del cluster:" è seguito dalla posizione di ciascun centro del cluster. Per gli attributi numerici, il centro del cluster è la media (Mean) e per gli attributi categoriali è la modalità (Mode).
"Istanze in cluster" indica il numero e la percentuale di istanze in ciascun cluster.
Osservare i risultati del clustering visivo
Fare clic con il tasto destro sui risultati elencati nell'"Elenco risultati" in basso a sinistra e fare clic su "Visualizza assegnazioni cluster".
La finestra pop-up mostra il grafico a dispersione di ciascuna istanza.
Le due caselle superiori servono per selezionare l'ascissa e l'ordinata
Il "colore" nella seconda riga è la base per colorare il grafico a dispersione. L'impostazione predefinita è contrassegnare le istanze con colori diversi in base ai diversi cluster "Cluster".
Regole dell'associazione
L'apprendimento delle regole di associazione WEKA può scoprire le dipendenze tra i gruppi di attributi:
Ad esempio, latte, burro pane, uova (fiducia 0,9 e sostegno 2000)
Per la regola di associazione L->R
Supporto: la probabilità di osservare sia l'antecedente che il conseguente supporto = Pr(L,R)
Fiducia: la probabilità che si verifichi il conseguente quando si verifica l'antecedente. confidenza = Pr(L,R)/Pr(L)
Principali algoritmi per il mining di regole associative
I principali algoritmi per l’association rule mining sulla piattaforma di data mining WEKA sono:
Apriori: può ricavare tutte le regole di associazione che soddisfano il supporto minimo e il supporto minimo.
car: se impostato su true, verranno estratte le regole di associazione delle classi anziché le regole di associazione globale.
classindex: indice degli attributi della classe. Se impostato su -1, l'ultimo attributo viene trattato come un attributo di classe.
delta: utilizzare questo valore come unità di decremento dell'iterazione. Il sostegno viene continuamente ridotto fino al raggiungimento del sostegno minimo o alla generazione di regole che soddisfano i requisiti quantitativi.
lowerBoundMinSupport: limite inferiore del supporto minimo.
metricType: tipo di metrica, imposta la base metrica per le regole di ordinamento. Può essere: fiducia (le regole dell’associazione di classe possono essere elaborate solo con fiducia), spinta, leva e convinzione.
In Weka vengono predisposte diverse misure simili alla fiducia per misurare il grado di associazione delle regole. Essi sono:
Lift: il rapporto tra fiducia e conseguente supporto portanza = Pr(L,R) / (Pr(L)Pr(R)) Quando Lift=1, significa che L e R sono indipendenti. Quanto più grande è il numero (>1), tanto più indica che l’esistenza di L e B nello stesso carrello della spesa non è un fenomeno casuale, e che esiste una forte correlazione.
Leva finanziaria, equilibrio: presupponendo che l'antecedente e il conseguente siano statisticamente indipendenti, la proporzione di istanze che superano il valore atteso e sono coperte sia dall'antecedente che dal conseguente. leva = Pr(L,R) - Pr(L)Pr(R) Quando Leva=0, L e R sono indipendenti Maggiore è la Leva, più stretta è la relazione tra L e R.
Convinzione, credibilità: utilizzato anche per misurare l'indipendenza dell'antecedente e del conseguente. convinzione = Pr(L)Pr(!R) / Pr(L,!R) (!R significa che R non si è verificato) Dalla sua relazione con la portanza (inverti R e trova il reciproco dopo averlo sostituito nella formula della portanza), possiamo vedere che maggiore è questo valore, più rilevanti sono L e R.
minMtric: valore minimo della metrica.
numRules: numero di regole da scoprire.
outputItemSets: se impostato su true, i set di elementi verranno restituiti nel risultato.
rimuoviAllMissingCols: rimuove tutte le colonne con valori mancanti.
significativitàLevel: livello di importanza. Test di significatività (solo per confidenza).
upperBoundMinSupport: il limite superiore del supporto minimo. A partire da questo valore diminuisce iterativamente il supporto minimo.
verbose: se impostato su true, l'algoritmo viene eseguito in modalità dettagliata.
PredictiveApriori: combina sicurezza e supporto nell'accuratezza della previsione per diventare un metodo di misurazione a grado singolo e trova le regole di associazione ordinate in base all'accuratezza della previsione.
Terius: cerca regole basate sul grado di conferma. Come Apriori, cerca regole le cui conclusioni contengono più condizioni, ma la differenza è che queste condizioni sono "o" tra loro invece di "e".
Nessuno di questi tre algoritmi supporta dati numerici.
In effetti, la maggior parte degli algoritmi delle regole di associazione non supportano i tipi numerici. Pertanto, i dati devono essere elaborati, divisi in segmenti e discretizzati in contenitori.
Informazioni sul funzionamento dell'algoritmo di mining delle regole di associazione
Seleziona attributiSeleziona attributi
La selezione degli attributi consiste nel cercare tutte le possibili combinazioni di tutti gli attributi nel set di dati per trovare l'insieme di attributi con il miglior effetto di previsione.
Per raggiungere questo obiettivo è necessario impostare valutatori di attributi e strategie di ricerca.
Il valutatore determina come assegnare un valore a un insieme di attributi che rappresenta quanto siano buoni o cattivi.
La strategia di ricerca determina come viene eseguita la ricerca.
Opzioni
Sono disponibili due opzioni nella colonna Modalità di selezione degli attributi.
Utilizza set di training completo Utilizza tutti i dati di training per determinare la validità di un set di attributi.
Convalida incrociata La qualità di un insieme di attributi viene determinata attraverso un processo di convalida incrociata. Fold e Seed forniscono rispettivamente il numero di volte della convalida incrociata e il seme casuale durante la codifica dei dati.
Come la sezione Classifica, è presente una casella a discesa per specificare l'attributo della classe.
Eseguire la selezione
Fare clic sul pulsante Avvia per iniziare il processo di selezione degli attributi. Al termine, i risultati vengono visualizzati nell'area dei risultati e una voce viene aggiunta all'elenco dei risultati.
Facendo clic con il tasto destro sull'elenco dei risultati ti verranno fornite diverse opzioni. I primi tre (Visualizza nella finestra principale, Visualizza in una finestra separata e Salva buffer dei risultati) sono gli stessi del pannello di classificazione.
Puoi anche visualizzare set di dati ridotti (Visualizza dati ridotti)
Possibilità di visualizzare set di dati trasformati (Visualizza dati trasformati)
I dati ridotti/trasformati possono essere salvati utilizzando l'opzione Salva dati ridotti... o Salva dati trasformati....
Visualizzazione dei datiVisualizza
La pagina di visualizzazione di WEKA può esplorare visivamente la relazione attuale in un diagramma di dispersione bidimensionale.
matrice del grafico a dispersione
Quando è selezionato il pannello Visualizza, per tutti gli attributi viene fornita una matrice di grafico a dispersione, che viene colorata in base all'attributo della classe selezionata.
Qui puoi modificare la dimensione di ciascun grafico a dispersione 2D, modificare la dimensione di ciascun punto e jitter casualmente i dati (facendo apparire i punti nascosti).
È inoltre possibile modificare gli attributi utilizzati per la colorazione, selezionare solo un sottoinsieme di un insieme di attributi da inserire nella matrice del grafico a dispersione e anche prendere un sottocampione dei dati.
Tieni presente che queste modifiche avranno effetto solo dopo aver fatto clic sul pulsante Aggiorna.
Seleziona singoli grafici a dispersione 2D
Dopo aver fatto clic su un elemento della matrice del grafico a dispersione, viene visualizzata una finestra separata per visualizzare il grafico a dispersione selezionato.
I punti dati sono distribuiti nell'area principale della finestra. Sopra ci sono due caselle a discesa per selezionare gli assi delle coordinate per i punti. A sinistra ci sono le proprietà usate come asse x; a destra ci sono proprietà usate come asse y.
Accanto al selettore dell'asse x è presente una casella a discesa per la selezione di uno schema di colorazione. Colora i punti in base agli attributi selezionati.
Sotto l'area tratteggiata è presente una legenda che spiega quale valore rappresenta ciascun colore. Se i valori sono discreti, i colori possono essere modificati cliccandoci sopra nella nuova finestra che si apre.
Sono presenti alcune barre orizzontali a destra dell'area del punto. Ciascuna barra rappresenta un attributo e i punti in essa contenuti rappresentano la distribuzione dei valori degli attributi. Questi punti sono distribuiti casualmente in direzione verticale, in modo che sia possibile vedere la densità dei punti.
Fare clic su queste barre per modificare gli assi utilizzati per il grafico principale. Fare clic con il pulsante sinistro del mouse per modificare le proprietà dell'asse x; fare clic con il pulsante destro del mouse per modificare l'asse y. La "X" e la "Y" accanto alla barra orizzontale rappresentano l'attributo utilizzato dall'asse corrente ("B" indica che è utilizzato sia per l'asse x che per l'asse y).
Sopra la barra delle proprietà è presente un cursore denominato Jitter. Può spostare in modo casuale la posizione di ciascun punto nel grafico a dispersione, ovvero il jitter. Trascinandolo verso destra aumenta l'ampiezza del jitter, utile per identificare la densità dei punti.
Se non si utilizza tale dithering, decine di migliaia di punti insieme avranno lo stesso aspetto di un singolo punto.
Sotto il pulsante di selezione dell'asse Y è presente un pulsante a discesa che determina il metodo di selezione dei punti dati.
I punti dati possono essere selezionati nei quattro modi seguenti:
Seleziona Istanza Facendo clic su ciascun punto dati si aprirà una finestra che elenca i relativi valori degli attributi. Se viene fatto clic su più di un punto, verranno elencati anche più set di valori degli attributi.
Rettangolo. Crea un rettangolo trascinando e selezionando i punti al suo interno.
Poligono Crea un poligono a forma libera e ne seleziona i punti. Fare clic con il pulsante sinistro del mouse per aggiungere i vertici del poligono e fare clic con il pulsante destro del mouse per completare le impostazioni dei vertici. I punti iniziale e finale vengono collegati automaticamente in modo che il poligono sia sempre chiuso.
Polilinea È possibile creare una polilinea per separare i punti su entrambi i lati di essa. Fare clic con il tasto sinistro per aggiungere i vertici della polilinea e fare clic con il tasto destro per terminare l'impostazione. Le polilinee sono sempre aperte (al contrario dei poligoni chiusi).
Quando selezioni un'area del grafico a dispersione utilizzando Rettangolo, Poligono o Polilinea, l'area diventerà grigia.
Facendo clic sul pulsante Invia in questo momento verranno rimosse tutte le istanze che non rientrano nell'area grigia.
Facendo clic sul pulsante Cancella si cancellerà l'area selezionata senza alcun impatto sulla grafica. Se tutti i punti vengono rimossi dal grafico, il pulsante Invia si trasforma in un pulsante Reimposta. Questo pulsante può annullare tutte le rimozioni precedenti e riportare il grafico allo stato iniziale in cui si trovano tutti i punti.
Infine, fai clic sul pulsante Salva per salvare l'istanza attualmente visibile in un nuovo file ARFF.
Interfaccia del flusso di conoscenza KnowledgeFlow
KnowledgeFlow fornisce a Weka un'interfaccia grafica di "flusso di conoscenza".
Gli utenti possono selezionare i componenti da una barra degli strumenti, posizionarli sul pannello e collegarli in un determinato ordine per formare un "flusso di conoscenza" per elaborare e analizzare i dati.
Ad esempio: "Origine dati" -> "Filtro" -> "Classificazione" -> "Valutazione"
In KnowledgeFlow è possibile utilizzare classificatori, filtri, clusterer, caricatori, risparmiatori Weka e alcune altre funzioni.
Il layout del flusso di conoscenza può essere salvato e ricaricato.
Componenti disponibili di KnowledgeFlow
Nella parte superiore della finestra KnowledgeFlow sono presenti otto schede:
DataSources: caricatore di dati
DataSinks: risparmio di dati
Filtri--Filtro
Classificatori--Classificatori
Cluster: cluster
Associazioni—Associatori
Valutazione: valutatore
TrainingSetMaker: trasforma un set di dati in un set di training
TestSetMaker: trasforma un set di dati in un set di test
CrossValidationFoldMaker: suddividi qualsiasi set di dati, set di training o set di test in più pieghe per la convalida incrociata
TrainTestSplitMaker: divide qualsiasi set di dati, set di training o set di test in un set di training e un set di test
ClassAssigner: utilizza una colonna come attributo di classe di qualsiasi set di dati, set di training o set di test
ClassValuePicker: seleziona una determinata categoria come classe "positiva". Ciò può essere utile quando si generano dati per le curve di forma ROC
ClassifierPerformanceEvaluator: valuta le prestazioni di un classificatore addestrato o testato in modalità batch
IncrementalClassi¯erEvaluator--Valuta le prestazioni dei classificatori addestrati in modalità incrementale
ClustererPerformanceEvaluator: valuta le prestazioni di clusterer addestrati o testati in modalità batch
PredictionAppender: aggiunge il valore di previsione del classificatore al set di test. Per i problemi di classificazione discreta, è possibile aggiungere indicatori di classe previsti o distribuzioni di probabilità
Visualizzazione—visualizzazione
DataVisualizer: questo componente apre un pannello che consente di visualizzare i dati in un grafico a dispersione separato e più grande.
ScatterPlotMatrix: questo componente può far apparire un pannello che contiene una matrice composta da alcuni piccoli grafici a dispersione (facendo clic su ciascun piccolo grafico a dispersione verrà visualizzato un grande grafico a dispersione)
AttributeSummarizer: questo componente visualizza un pannello con una matrice di istogrammi. Ogni istogramma corrisponde a un attributo nei dati di input.
ModelPerformanceChart: questo componente può visualizzare un pannello per visualizzare le curve di soglia (come le curve ROC)
TextViewer: questo componente viene utilizzato per visualizzare dati di testo e può essere utilizzato per visualizzare set di dati e statistiche per misurare le prestazioni di classificazione, ecc.
GraphViewer: questo componente può visualizzare un pannello per visualizzare modelli basati su alberi
StripChart: questo componente può visualizzare un pannello che visualizza un grafico a dispersione di dati in sequenza (utilizzato per osservare immediatamente le prestazioni del classificatore incrementale)