Tranne gli alberi decisionali e la regressione logistica, quali altri modelli di classificazione forniscono una buona interpretazione? Non sono interessato alla precisione o ad altri parametri, è importante solo l'interpretazione dei risultati.
Tranne gli alberi decisionali e la regressione logistica, quali altri modelli di classificazione forniscono una buona interpretazione? Non sono interessato alla precisione o ad altri parametri, è importante solo l'interpretazione dei risultati.
Risposte:
1) Direi che gli alberi delle decisioni non sono interpretabili come la gente li fa apparire. Essi guardano interpretabile, dal momento che ogni nodo è un semplice, decisione binario. Il problema è che mentre scendi dall'albero, ogni nodo è condizionato da ogni nodo sopra di esso. Se il tuo albero ha solo quattro o cinque livelli di profondità, non è ancora troppo difficile convertire il percorso di un nodo terminale (quattro o cinque divisioni) in qualcosa di interpretabile (ad esempio "questo nodo riflette i clienti a lungo termine che sono maschi ad alto reddito con più account "), ma cercare di tenere traccia di più nodi terminali è difficile.
Se tutto ciò che devi fare è convincere un cliente che il tuo modello è interpretabile ("guarda, ogni cerchia qui ha una semplice decisione sì / no, facile da capire, no?"), Terrei gli alberi delle decisioni nella tua lista . Se vuoi l'interpretazione interpretabile, suggerirei che potrebbero non fare il taglio.
2) Un altro problema è chiarire cosa intendi per "interpretabilità dei risultati". Ho incontrato l'interpretabilità in quattro contesti:
Il cliente è in grado di comprendere la metodologia. (Non è quello che stai chiedendo.) Una foresta casuale è abbastanza semplice da spiegare per analogia e la maggior parte dei clienti si sente a proprio agio con esso una volta che è spiegato semplicemente.
Spiegare come la metodologia si adatta a un modello. (Avevo un cliente che insisteva nel spiegare come fosse adattato un albero decisionale perché ritenevano che li avrebbe aiutati a capire come usare i risultati in modo più intelligente. Dopo aver fatto una bella scrittura, con molti diagrammi carini, hanno lasciato cadere l'argomento. Non è affatto utile interpretare / comprendere.) Ancora una volta, credo che questo non sia ciò di cui stai chiedendo.
Una volta installato un modello, interpretando ciò che il modello "crede" o "dice" sui predittori. Ecco dove un albero decisionale sembra interpretabile, ma è molto più complesso delle prime impressioni. La regressione logistica è abbastanza semplice qui.
Quando un determinato punto dati viene classificato, spiegando perché tale decisione è stata presa. Perché la tua regressione logistica dice che c'è una probabilità dell'80% di frode? Perché il tuo albero decisionale dice che è a basso rischio? Se il client è soddisfatto della stampa dei nodi decisionali che portano al nodo terminale, questo è facile per un albero decisionale. Se "perché" deve essere riassunto in parole umane ("questa persona è classificata a basso rischio perché è un cliente maschio a lungo termine che ha un reddito elevato e conti multipli con la nostra azienda"), è molto più difficile.
Quindi a un livello di interpretabilità o spiegabilità (n. 1 con un po 'di n. 4 in alto), K-Nearby Neighbor è facile: "questo cliente è stato giudicato ad alto rischio perché 8 su 10 clienti che sono stati precedentemente valutati e sono stati la maggior parte simili a loro in termini di X, Y e Z, sono risultati ad alto rischio ". A livello di azione n. 4, non è così interpretabile. (Ho pensato di presentare loro gli altri 8 clienti, ma ciò avrebbe richiesto loro di approfondire questi clienti per capire manualmente cosa avevano in comune questi clienti e quindi ciò che il cliente valutato ha in comune con loro.)
Di recente ho letto un paio di articoli sull'utilizzo di metodi simili all'analisi di sensibilità per cercare di trovare spiegazioni automatizzate di tipo 4. Non ne ho a portata di mano, però. Forse qualcuno può inserire alcuni link nei commenti?
Dipende dai dati che stai utilizzando. Se non sei interessato all'accuratezza, credo che la visualizzazione dei dati e le classificazioni siano uno dei modi migliori per interpretare i dati e le prestazioni dell'algoritmo.
Ecco un esempio di confronto di vari classificatori. Ogni riga è un set di dati diverso con dati con separabilità variabile. Ogni colonna è la visualizzazione di ciascun classificatore.
http://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html
L'analisi discriminante è il modello di classificazione originale, risalente a oltre cento anni a RA Fisher ( https://en.wikipedia.org/wiki/Linear_discriminant_analysis ). Troppo spesso viene ignorato nel mondo odierno dei modelli di apprendimento automatico e statistico, essendo stato superato da approcci più coerenti con il gergo più recente.
Questo documento era sul Journal of Machine Learning e ha un elenco di altri metodi, abbiamo bisogno di centinaia di classificatori per risolvere i problemi di classificazione del mondo reale? http://jmlr.org/papers/volume15/delgado14a/delgado14a.pdf
Per trovare la relazione tra funzionalità e classi è possibile utilizzare un metodo di relazione. Puoi anche utilizzare il metodo chi quadrato per scoprire se una funzione è associata alla classe. Per fare ciò, dovresti usare l'uguaglianza delle etichette di classe. Ad esempio, se si sta testando la funzione 1 e la classe 1, è necessario eseguire il binning per la funzione 1 e calcolare chi ^ 2 tra le probabilità associate e una variabile di appartenenza che ha valore 1 quando la classe è 1, 0 altrimenti. In questo modo, se l'essere di classe 1 dipende dalla caratteristica 1, alcuni bin avranno un tasso più alto di essere di classe 1 mentre alcuni bin avranno più bassi.
Un altro metodo che ho provato con discreto successo è stato quello di adattare una caratteristica di una classe a una distribuzione normale. Quindi, per ogni campione della classe, migliorare il punteggio della funzionalità in base alla forma fisica del campione fino alla distribuzione. Per ogni campione non compreso nella classe, penalizzare la funzionalità per il fitness. Ovviamente è necessario normalizzare per il numero di campioni presenti e non nella classe. Funziona solo su funzionalità distribuite vicino alla distribuzione normale. Ho usato questo metodo per assegnare un punteggio per funzione per ogni classe.
Nessuno ha menzionato la classificazione del prossimo vicino. Questo è molto semplice da spiegare; un'osservazione è classificata in base alla classe più comune tra quelle osservazioni più vicine ad essa. Normalmente scegliamo un numero dispari di vicini più vicini da guardare, quindi non ci sono legami da rompere.