Ciao a tutti, buon anno 2021.
Sto lavorando a un problema di classificazione con una risposta binaria chiamata Gruppo (stati o e 1) come riportato nel file xls allegato. In totale ci sono 13 predittori di cui 2 categoriali. Questa tabella è il risultato della pulizia, della selezione delle caratteristiche e del raggruppamento (per rimuovere la collinarità). Essendo lo stato del Gruppo 1 fortemente sbilanciato rispetto allo 0 ho utilizzato gli addin SMOTE + TOMEK per bilanciare la risposta. Le righe aggiunte sono riconoscibili dalla colonna Origine. Ho eseguito diversi modelli di classificazione i cui risultati sono nel file ppt allegato, The NN è il file uno con l'R2 più alto e un errore di errata classificazione inferiore mentre il Naive bayes è il peggiore con circa 0,2 errori di classificazione. Dato che ho paura di un modello con 0 errore di errata classificazione (overfitting), quale secondo te è il modello più affidabile (quello che una volta distribuito avrà lo stesso errore di errata classificazione)?
Grazie Felice
Alcune cose che ho notato dalla mia rapida occhiata ai tuoi risultati.
Innanzitutto, questa è una comunità JMP, quindi un file JMP sarebbe preferibile su un file Excel. Dopo tutto, la prima cosa che ho fatto è stata inserire i dati in JMP in modo da poterli vedere! Inoltre, avresti potuto salvare i tuoi diversi modelli come script che potrebbero essere rieseguiti per vedere le opzioni che hai provato.
Non so come hai implementato SMOTE + TOMEK per bilanciare le risposte, ma ci sono altri modi in cui potresti tentare di bilanciare le risposte. Potresti aver sovracampionato, ignorato alcuni dei casi più diffusi, assegnare righe a formazione / convalida / test in base a un campionamento stratificato della risposta, ecc. Indipendentemente da ciò, se sei interessato dal modello "perfetto", questi modelli potrebbero essere su come è stato effettuato il bilanciamento? Se un algoritmo sta eseguendo il bilanciamento, un modello / algoritmo potrebbe essere in grado di spiegarlo.
Supponendo che il bilanciamento non possa influenzare lo sforzo di modellazione, hai suddiviso i tuoi dati in addestramento, convalida e test. Il tuo set di test dovrebbe essere indicativo delle prestazioni del mondo reale, quindi non credo che ci sia un adattamento eccessivo in corso. Il set di prova non viene utilizzato affatto nel processo di adattamento. Se ritieni che il modello sia troppo buono, assicurati che i tuoi dati (e in particolare il set di test) siano rappresentativi del tuo processo.
Sono presenti 89 righe senza un valore di convalida. Perché? Stai escludendo quelle righe dalla tua analisi? Perché?
Sembra che tu abbia utilizzato tutti i valori predefiniti per un albero potenziato. Si noti che un albero potenziato predefinito ha 50 livelli e i risultati finali mostrano che sono stati utilizzati tutti i 50 livelli. Ciò significa che puoi avere un albero migliore utilizzando livelli più potenziati. Ecco un risultato quando ho specificato un numero molto elevato di livelli.

La macchina a vettore di supporto ha anche fornito un adattamento perfetto in base al tasso di classificazione errata. Perché non considerarlo?
L'unico modo per avere veramente fiducia in un modello è iniziare a usarlo su nuovi dati. Perché non andare avanti con tutti e tre (albero potenziato a più livelli, rete neurale e macchine vettoriali di supporto) e lasciare che i dati determinino quale funziona veramente meglio?
Ciao Dan grazie per la tua mail.
Riguardo al file xls hai ragione. La prossima volta condividerò il file jmp invece di quello excel.
I componenti aggiuntivi di Smoke + tomek non hanno alcun impatto sul modello. Con e senza di essa le prestazioni sono esattamente le stesse.
Per alcuni dei modelli che ho sviluppato ho utilizzato solo i valori degli iperparametri proposti da JMP. Hai ragione.
Le 89 istanze a cui ti riferisci non sono state utilizzate per sviluppare il modello.Ho controllato le prestazioni del modello anche su questi 89 esempi non visti (oltre al gruppo di test). Anche in questo caso i modelli hanno confermato le buone prestazioni viste sui gruppi di formazione / test. Sembra tutto a posto.
Forse, come suggerisci, l'unica possibilità per essere sicuri sull'affidabilità dei modelli è fare la distribuzione e controllare le prestazioni su dati invisibili.