| Oratore |
Trascrizione |
| Michele Crotty |
Ciao. Grazie per esserti sintonizzato |
| |
la nostra discussione sul componente aggiuntivo di classificazione sbilanciata che consente di confrontare modelli e tecniche di campionamento in JMP Pro. |
| |
Sono Michael Crotty. Sono uno degli statistici del team di documentazione di JMP e la mia co-relatrice oggi è Colleen McKendry, anche lei del team di documentazione statistica. Questo è un lavoro su cui abbiamo collaborato con Marie Gaudard. |
| |
Ecco una breve sintesi del nostro intervento di oggi. Esamineremo lo scopo del componente aggiuntivo che abbiamo creato, daremo qualche informazione di base sul problema della classificazione sbilanciata e su come ottenere un modello di classificazione in tale situazione. |
| |
Esamineremo alcuni metodi di campionamento che abbiamo incluso nel componente aggiuntivo e che sono popolari per il problema della classificazione sbilanciata. |
| |
Esamineremo le opzioni disponibili nel componente aggiuntivo |
| |
e parleremo di come ottenere il componente aggiuntivo, quindi Colleen mostrerà un esempio e una demo del componente aggiuntivo. |
| |
Nelle diapositive disponibili nella Community sono presenti anche riferimenti e un'appendice con ulteriori informazioni di base. |
| |
Quindi lo scopo del nostro componente aggiuntivo, il componente aggiuntivo di classificazione sbilanciata, è quello di consentire di applicare una serie di tecniche di campionamento progettate per dati sbilanciati. |
| |
È possibile confrontare i risultati ottenuti applicando queste tecniche, insieme ai vari modelli predittivi disponibili in JMP Pro. |
| |
È possibile confrontare tali modelli e adattamenti delle tecniche di campionamento utilizzando curve di richiamo di precisione, curve ROC e curve di guadagno, nonché altre misure. |
| |
Ciò consente di scegliere una soglia per la classificazione utilizzando le curve. |
| |
Inoltre, puoi applicare le tecniche di campionamento Tomek, SMOTE e SMOTE plus Tomek direttamente ai tuoi dati, il che ti consente di utilizzare le piattaforme JMP esistenti e |
| |
su quei dati appena campionati e perfezionare le opzioni di modellazione, se non ti piacciono le opzioni del metodo per lo più predefinite che abbiamo scelto. |
| |
E solo una nota: le tecniche di campionamento Tomek, SMOTE e SMOTE più Tomek possono essere utilizzate con variabili predittive nominali e ordinali, nonché continue. |
| |
Quindi, qualche informazione di base sul problema dei dati sbilanciati. |
| |
Quindi, in generale, si potrebbe avere una risposta multinomiale, ma noi ci concentreremo sulla variabile di risposta binaria e il punto chiave è che il numero di osservazioni a un livello di risposta è molto maggiore del numero di osservazioni a un altro livello di risposta. |
| |
Chiameremo questi livelli di risposta rispettivamente livelli di maggioranza e di minoranza. Quindi, il livello di minoranza, il più delle volte, è il livello di interesse che si desidera prevedere e rilevare. Potrebbe essere come rilevare una frode, la presenza di una malattia o un rischio di credito. |
| |
E vogliamo prevedere l'appartenenza alla classe in base alle variabili di regressione. |
| |
Per fare ciò, abbiamo sviluppato un modello predittivo che assegna probabilità di appartenenza alla classe di minoranza e quindi scegliamo un valore soglia che ottimizza |
| |
Vari criteri. Potrebbero essere il tasso di classificazione errata, il tasso di veri positivi, il tasso di falsi positivi, e così via. E poi classifichiamo un'osservazione, chi rientra nella classe di minoranza, se la probabilità prevista di appartenenza alla classe di minoranza supera il valore soglia scelto. |
| |
Come si ottiene quindi un modello di classificazione? |
| |
Abbiamo molte piattaforme diverse in JMP che possono fare una previsione per una variabile binaria, un risultato binario |
| |
In presenza di variabili di regressione, abbiamo bisogno di un modo per confrontare questi modelli. Ebbene, alcune misure tradizionali, come l'accuratezza della classificazione, non sono del tutto appropriate per dati sbilanciati. E, come esempio estremo, si potrebbe considerare il caso di una classe di minoranza del 2%. |
| |
Potrei darti una precisione del 98%, semplicemente classificando tutte le osservazioni come casi di maggioranza. Ora, questo non sarebbe un modello utile e non vorresti usarlo. |
| |
perché non stai prevedendo...non stai prevedendo correttamente nessuno dei tuoi casi target rispetto ai casi di minoranza ma solo la precisione complessiva, saresti al 98%, il che sembra piuttosto buono. |
| |
Ciò ha portato gli studiosi a esplorare altri metodi per misurare l'accuratezza della classificazione in un modello di classificazione sbilanciato. Uno di questi è la curva di richiamo della precisione. |
| |
Vengono spesso utilizzati con dati non bilanciati e rappresentano il valore predittivo positivo o la precisione rispetto al tasso di richiamo dei veri positivi. |
| |
E poiché la precisione tiene conto della maggioranza delle istanze, la curva PR è più sensibile allo squilibrio di classe rispetto a una curva ROC. |
| |
Pertanto, una curva PR è in grado di evidenziare meglio le differenze nei modelli per i dati sbilanciati. Pertanto, la curva PR è quella che compare per prima nel nostro report per il componente aggiuntivo. |
| |
Un altro modo per gestire dati di classificazione sbilanciati è quello di utilizzare metodi di campionamento che aiutino a modellare la classe di minoranza. |
| |
In generale, questi sono solo modi diversi per imporre un maggiore equilibrio alla distribuzione delle risposte e, a sua volta, questo aiuta a delineare meglio i confini tra le osservazioni della classe maggioritaria e di quella minoritaria. Quindi, nel nostro esempio, abbiamo sette diverse tecniche di campionamento. |
| |
Non parleremo troppo dei primi quattro e ci concentreremo sugli ultimi tre, ma molto velocemente: "nessuna ponderazione" significa esattamente quello che sembra. Non faremo... non apporteremo alcuna modifica, e questo è tutto. |
| |
essenzialmente per fornire una base di partenza rispetto a ciò che si farebbe se non si adottasse alcun metodo di campionamento per tenere conto dello squilibrio. |
| |
La ponderazione sovrappeserà i casi di minoranza in modo che la somma dei pesi della classe di maggioranza e della classe di minoranza sia la stessa. |
| |
Il sottocampionamento casuale escluderà casualmente i casi di maggioranza per arrivare a un caso bilanciato e il sovracampionamento casuale replicherà casualmente |
| |
nuovamente i casi di minoranza per arrivare a uno stato di equilibrio. |
| |
E poi parleremo più approfonditamente dei tre metodi più avanzati nelle diapositive seguenti. |
| |
Il primo dei metodi avanzati è SMOTE, acronimo di Synthetic Minority Oversampling Technique. |
| |
Si tratta sostanzialmente di una forma più sofisticata di sovracampionamento, perché aggiungiamo più casi minoritari ai nostri dati. |
| |
Lo facciamo generando nuove osservazioni simili alle osservazioni esistenti sulle classi minoritarie, ma non le replichiamo semplicemente come nel caso del sovracampionamento. |
| |
Utilizziamo quindi la funzione di distanza di Gower ed eseguiamo il calcolo dei K vicini più prossimi su ciascuna osservazione della classe di minoranza, quindi vengono generate osservazioni per riempire lo spazio definito da tali vicini. |
| |
E in questo grafico, potete vedere se abbiamo questo caso di minoranza qui in rosso. Abbiamo scelto i tre vicini più prossimi. |
| |
E ne sceglieremo uno a caso. Capita che sia questo qui sotto, e poi generiamo un caso, un altro caso minoritario che si trova da qualche parte in questa piccola casella ombreggiata. Ed è in due dimensioni. Se avessi |
| |
Se i tuoi predittori hanno n dimensioni, allora quell'area ombreggiata sarebbe uno spazio n dimensionale. |
| |
Ma una cosa fondamentale da sottolineare è che puoi scegliere il numero di vicini più prossimi che desideri |
| |
scegli casualmente tra, e puoi anche scegliere quante volte eseguirai questa operazione |
| |
questo algoritmo per caso minoritario. |
| |
Il metodo di campionamento successivo è quello dei collegamenti di Tomek. Questo metodo cerca di definire meglio il confine tra le classi di minoranza e di maggioranza. Per farlo, rimuove dalla classe di maggioranza le osservazioni vicine alle osservazioni della classe di minoranza. |
| |
Di nuovo, utilizziamo la distanza di Gower per trovare i collegamenti di Tomek, e il collegamento di Tomek è una coppia di vicini più prossimi che rientrano in classi diverse. Quindi una maggioranza e una minoranza che sono vicini più prossimi l'una all'altra. |
| |
Per ridurre la sovrapposizione di queste istanze, è possibile rimuovere uno o entrambi i membri della coppia. Nell'opzione principale del nostro componente aggiuntivo, l'opzione di valutazione dei modelli, rimuoviamo solo l'istanza di maggioranza. Tuttavia, nell'opzione Tomek, è possibile utilizzare entrambe le modalità di rimozione. |
| |
Infine, l'ultimo metodo di campionamento è SMOTE più Tomek. Questo combina i due metodi di campionamento precedenti. |
| |
E il modo in cui li combina è applicare questo algoritmo di modalità per generare nuove osservazioni di minoranza e quindi, una volta ottenuti i dati originali, più un gruppo di nuovi casi di minoranza generati, |
| |
tt si applica all'algoritmo di Tomek per trovare coppie di vicini più prossimi che rientrano in classi diverse. In questo metodo, entrambe le osservazioni nella coppia di Tomek vengono rimosse. |
| |
Quindi, il componente aggiuntivo per la classificazione sbilanciata presenta quattro opzioni quando lo si installa, che vengono tutte visualizzate come voci di sottomenu nel menu dei componenti aggiuntivi. |
| |
La prima è l'opzione "Valuta modelli", che consente di adattare una varietà di modelli utilizzando diverse tecniche di campionamento. Le tre successive sono semplici finestre di dialogo autonome che consentono di applicare le tre tecniche di campionamento di cui abbiamo appena parlato. |
| |
Quindi nell'opzione di valutazione dei modelli del componente aggiuntivo, viene fornito un report di classificazione sbilanciato che facilita il confronto delle combinazioni di modelli e tecniche di campionamento. |
| |
Mostra la curva PR e le curve ROC, così come le curve dei guadagni e, per le curve PR e ROC, mostra l'area sotto la curva: in genere, maggiore è l'area sotto ciascuna di queste curve, migliore è l'adattamento del modello. |
| |
Fornisce il grafico delle probabilità previste per classe che aiuta a farsi un'idea di come si adatta ciascun modello. |
| |
Fornisce inoltre una tabella di dati sulle tecniche e sulle soglie, e tale tabella contiene uno script che consente di riprodurre il report |
| |
che viene prodotto la prima volta che esegui il componente aggiuntivo. E vogliamo sottolineare che se esegui questo e vuoi salvare i risultati senza riscrivere l'intero |
| |
algoritmo dei metodi di modellazione e campionamento, è possibile salvare questa tabella di tecniche e soglie, il che consentirà di salvare i risultati e riprodurre il report. |
| |
Ora esamineremo la finestra di dialogo per l'opzione di valutazione dei modelli. Permette di scegliere tra diversi modelli e tecniche di campionamento. |
| |
Puoi inserire la variabile della tua classe binaria e tutti i tuoi predittori X, quindi |
| |
noi, per adattarci a tutti i modelli e e |
| |
Per valutarli su un set di test, dividiamo casualmente i dati in set di training, validazione e test. È possibile fornire... è possibile impostare le proporzioni che andranno in ciascuno di questi set. |
| |
C'è un'opzione di seeding casuale se si desidera riprodurre i risultati. E poi ci sono le opzioni SMOTE. |
| |
a cui ho accennato prima, dove puoi scegliere il numero di vicini più prossimi, da cui selezionarne uno come vicino più prossimo da utilizzare per generare un nuovo caso, e la replica di ogni caso di minoranza è il numero di volte in cui ripeti l'algoritmo per ogni osservazione di minoranza. |
| |
Di nuovo, ci sono altre tre opzioni di campionamento |
| |
opzioni nel componente aggiuntivo, che corrispondono a Tomek, SMOTE e SMOTE più Tomek. Nell'opzione di campionamento di Tomek, verranno aggiunte due colonne alla tabella dati che possono essere utilizzate come pesi per la previsione... per qualsiasi modello predittivo si desideri utilizzare. |
| |
La prima colonna rimuove solo il vicino più prossimo nel collegamento, mentre l'altra rimuove entrambi i membri del collegamento Tomek, quindi hai questa opzione. |
| |
Le osservazioni SMOTE aggiungeranno osservazioni sintetiche alla tabella dati. |
| |
E fornirà anche una colonna di origine in modo da poter identificare quale |
| |
sono state aggiunte osservazioni. E SMOTE e Tomek aggiungono osservazioni sintetiche e la colonna di ponderazione che rimuove entrambi i membri del collegamento Tomek. |
| |
E la colonna di ponderazione del campionamento Tomek e SMOTE più Tomek, |
| |
È solo una colonna indicatrice che puoi usare come peso in una piattaforma di modellazione JMP. È solo 1 se è incluso e 0 se deve essere escluso. |
| |
La maggior parte delle altre tre finestre di dialogo relative alle opzioni di campionamento sono sostanzialmente identiche. |
| |
Un'opzione presente su di essi e non nella finestra di dialogo delle opzioni di valutazione dei modelli è "Mostra tabelle intermedie". Questa opzione è presente per SMOTE e SMOTE più Tomek. |
| |
In pratica, permette di visualizzare le tabelle di dati utilizzate per la costruzione delle osservazioni SMOTE. In generale, non è necessario visualizzarle, ma se si desidera comprendere meglio come vengono generate queste osservazioni, è possibile consultare le tabelle intermedie. |
| |
E sono tutti spiegati nella documentazione. |
| |
Ancora una volta, puoi ottenere il componente aggiuntivo tramite la Community, |
| |
attraverso questa pagina per questo discorso sul Discovery Summit Americas 2020 |
| |
parte della Community. E come ho detto poco fa, la documentazione è disponibile all'interno del componente aggiuntivo. Basta cliccare sul pulsante Aiuto. |
| |
Adesso è il momento per Colleen di mostrare un esempio in una demo del componente aggiuntivo. |
| Colleen McKendry |
Grazie Michael. Ora farò una demo del componente aggiuntivo e, per farla, userò questi dati demo della mammografia. |
| |
Pertanto il set di dati mammografici si basa su una serie di mammografie digitalizzate, utilizzate in uno studio sulle microcalcificazioni nelle immagini mammografiche. |
| |
In questi dati, ogni record è classificato come 1 o 0. 1 indica che nell'immagine è presente calcificazione, mentre 0 indica che non è presente. |
| |
In questo set di dati, le immagini in cui si nota la calcificazione sono quelle che ci interessa predire, quindi il livello di classe uno è il livello di classe che ci interessa. |
| |
Nel set di dati completo ci sono sei predittori continui e circa 11.000 osservazioni. |
| |
Ma per ridurre i tempi di elaborazione in questa demo, useremo solo un sottoinsieme dell'intero set di dati. Quindi saranno circa la metà delle osservazioni. Quindi circa 5500 osservazioni. |
| |
E le osservazioni classificate come 1, quelle che ti interessano, rappresentano circa il 2,31% delle osservazioni totali, sia nel set di dati completo che nel set di dati demo che stiamo utilizzando. Quindi abbiamo una percentuale di minoranza di circa il 2%. |
| |
E ora passerò a JMP |
| |
A |
| |
Quindi ho i dati dimostrativi della mammografia. |
| |
Ora apriamo e ho già installato il componente aggiuntivo. Ho il componente aggiuntivo per la classificazione sbilanciata nel menu a discesa e utilizzerò l'opzione di valutazione dei modelli. |
| |
E quindi qui abbiamo la finestra di avvio, e specificheremo la variabile di classe binaria, le variabili predittive, selezioneremo tutti i modelli e tutte le tecniche e specificheremo |
| |
un seme casuale. |
| |
Quindi fare clic su OK. |
| |
Mentre il programma è in esecuzione, vi spiegherò cosa succede effettivamente in background. La prima cosa che fa il componente aggiuntivo è dividere la tabella dati in un set di dati di training e un set di dati di test. |
| |
Quindi hai due tabelle di dati separate e poi all'interno della tabella dei dati di addestramento queste osservazioni sono ulteriormente suddivise in osservazioni di addestramento e di convalida e la convalida viene utilizzata nell'adattamento del modello. |
| |
E quindi una volta che hai quei due set di dati, |
| |
sono presenti variabili indicatrici...colonne indicatrici che vengono aggiunte alla tabella dei dati di addestramento per ciascuna delle tecniche di campionamento specificate, ad eccezione di quelle che coinvolgono SMOTE. |
| |
Quindi queste colonne vengono aggiunte e utilizzate come colonne di ponderazione e specificano semplicemente se l'osservazione deve essere inclusa nell'analisi oppure no. |
| |
Se si specifica una tecnica di campionamento con SMOTE, vengono aggiunte ulteriori righe alla tabella dati. Queste sono le osservazioni generate. |
| |
Quindi, una volta generate le colonne e le righe, per ogni modello, ogni modello si adatta a ciascuna tecnica di campionamento. Quindi, se li selezioni tutti |
| |
come abbiamo appena fatto qui, ci sono in totale 42 modelli diversi che vengono adattati. E quindi, questo è tutto ciò che sta accadendo in questo momento. In |
| |
Nella demo attuale, abbiamo 42 modelli in fase di adattamento e, una volta che i modelli sono stati adattati, le informazioni rilevanti vengono raccolte e inserite in un report dei risultati. E quel report, |
| |
Che spero compaia presto, eccolo qui, il report è mostrato qui. E troverete anche una tabella delle tecniche e delle soglie e una tabella riassuntiva. |
| |
Quindi daremo un'occhiata a cosa si ottiene eseguendo il componente aggiuntivo. Per prima cosa abbiamo il training set. E potete vedere che qui ci sono le colonne di ponderazione, le colonne di ponderazione che vengono aggiunte. E queste sono le colonne che vengono aggiunte per le probabilità previste per quelle osservazioni. |
| |
Poi abbiamo il set di test. Questo non contiene nessuna di quelle colonne di ponderazione, ma contiene le probabilità previste per le osservazioni del set di test. |
| |
Abbiamo il rapporto sui risultati |
| |
e la tabella dei dati delle tecniche e delle soglie. E così Michael lo ha menzionato in |
| |
il discorso precedente, ma questo è importante perché questa è la cosa che vorresti salvare se vuoi salvare i tuoi risultati e visualizzarli di nuovo |
| |
senza dover rieseguire l'intero script. Quindi questa tabella dati è quella che salveresti e contiene gli script che riprodurranno |
| |
Il report dei risultati e la tabella riassuntiva, che è l'ultima cosa che devo mostrare. Questa contiene solo riepiloghi per ogni tecnica di campionamento e combinazione di modelli, nonché i relativi valori di AUC. |
| |
Ora, per guardare la finestra dei risultati effettivi, in alto abbiamo le specifiche di dialogo. Queste contengono le informazioni specificate nella finestra di avvio. |
| |
Quindi, se dimentichi qualcosa che hai specificato, come il seme casuale o le proporzioni che hai assegnato, puoi semplicemente aprirlo e dargli un'occhiata. |
| |
E abbiamo anche la distribuzione binaria delle classi. Quindi, la distribuzione della variabile di classe tra il training set e il test set. E questo è progettato in modo che la proporzione sia la stessa, che in questo caso è 2,3. |
| |
E poi abbiamo anche la soglia mancante. Quindi questo non è super importante, ma dà solo |
| |
un'indicazione se un valore della variabile di classe ha un valore di predizione mancante, allora questo viene mostrato qui. |
| |
Per i risultati effettivi, abbiamo questi grafici a schede. Abbiamo quindi le curve di richiamo di precisione, le curve ROC e le curve dei guadagni cumulativi. E per le curve PR e le curve ROC, abbiamo anche i corrispondenti valori AUC. |
| |
Abbiamo anche questi grafici delle probabilità previste per classe. E sono più utili quando ne si visualizzano solo alcune alla volta, come vedremo più avanti. |
| |
E poi abbiamo un filtro dati che collega tutti questi grafici e risultati tra loro. |
| |
Quindi, per i risultati effettivi dell'analisi, possiamo dare un'occhiata ora. Per prima cosa, li ordinerò. |
| |
Quindi potete già vedere che la curva ROC e la curva PR presentano una differenziazione molto maggiore tra le curve della curva PR rispetto alla curva ROC. |
| |
E se selezioniamo i primi cinque, diciamo, questi hanno tutti un AUC di 0,97. |
| |
E potete vedere che sono tutti molto vicini tra loro. Sono praticamente uno sopra l'altro. Sarebbe davvero difficile determinare quale modello sia effettivamente migliore, quale scegliere. |
| |
Ed è qui che, soprattutto con dati sbilanciati, le curve di richiamo di precisione diventano davvero importanti. Quindi, se torniamo indietro, possiamo vedere che questi modelli, che avevano i valori AUC più alti per le curve ROC, |
| |
Sono davvero distribuiti nella curva di richiamo di precisione. E in realtà non lo sono... non hanno i valori di AUC più alti per la curva PR. |
| |
Quindi forse c'è... forse c'è un modello migliore che possiamo scegliere. |
| |
Quindi adesso darò un'occhiata e mi concentrerò sui primi due, ovvero Tomek con albero potenziato e Tomek SVM, e lo farò utilizzando il filtro dati. |
| |
E poi vogliamo solo dare un'occhiata a quelli che mostreremo e includeremo. |
| |
Quindi ora abbiamo le curve solo per questi due modelli: la curva blu è l'albero potenziato e la curva rossa è SVM. |
| |
E quindi potete vedere in queste curve che si sovrappongono in un certo senso tra loro attraverso diversi valori del tasso di veri positivi. E quindi potreste usare queste curve |
| |
Per scegliere il modello da utilizzare nella tua analisi, magari in base a quale sarebbe un tasso di veri positivi accettabile. Possiamo vederlo aggiungendo alcune linee di riferimento. Scusate le mani che vedrete mentre scrivo. |
| |
Ok, supponiamo che questi siano alcuni diversi tassi di veri positivi che potrebbero interessarti. Quindi, ad esempio, per qualsiasi set di dati tu abbia, volevi un tasso di veri positivi di 0,55. |
| |
Potresti scegliere la soglia per farla diventare il tasso di veri positivi. E poi, in questo caso, |
| |
Per quel tasso di veri positivi, il modello Tomek con albero potenziato ha una precisione maggiore. E quindi potresti scegliere quel modello. |
| |
Tuttavia, se si desidera che il tasso di veri positivi sia pari a circa 0,85, allora il modello SVM potrebbe essere una scelta migliore perché ha una precisione maggiore per quello specifico tasso di veri positivi. |
| |
E poi se avessi un tasso di veri positivi più alto, pari a 0,95, cambieresti di nuovo idea e forse sceglieresti il modello ad albero potenziato. |
| |
Ecco come puoi usare queste curve per scegliere il modello più adatto ai tuoi dati. |
| |
E ora diamo un'altra occhiata a questi grafici, ora che ce ne sono solo alcuni. Questo mostra la distribuzione delle probabilità previste per ciascuna classe per i modelli che abbiamo selezionato. Quindi, in questo caso particolare, potete vedere che in SVM la maggioranza è |
| |
probabilità nell'intero intervallo di probabilità previste, dove l'albero potenziato riesce in un certo senso a mantenerle al limite inferiore. |
| |
E questo è tutto per questa demo in particolare, ma prima di concludere, volevo solo mostrarvi un'altra cosa. Questo era un esempio di come si usa la funzione evaluate. |
| |
Opzione modelli. Ma supponiamo che volessi semplicemente utilizzare una particolare tecnica di campionamento. Puoi farlo qui. La finestra di avvio appare più o meno la stessa. Puoi assegnare la tua classe binaria, i tuoi predittori e fare clic su OK. |
| |
E questo genera una nuova tabella dati e hai il tuo |
| |
colonna indicatrice. |
| |
La colonna degli indicatori, che mostra semplicemente se l'osservazione deve essere inclusa nell'analisi oppure no. |
| |
E poi, poiché si trattava di SMOTE più Tomek, hai anche tutte queste osservazioni generate da SMOTE. |
| |
Ora avete questa nuova tabella dati e potete utilizzare qualsiasi tipo di modello con qualsiasi opzione desideriate, utilizzando questa colonna come colonna di peso o frequenza e procedendo da lì. E questa è la fine della nostra demo per il componente aggiuntivo di classificazione sbilanciata. Grazie per aver guardato. |