Ciao, Habr!
Noi di «Rexoft» abbiamo tradotto in russo un articolo . Speriamo che sia utile a tutti coloro che sono interessati all'argomento.
Nel mondo reale, i dati non sono sempre così puliti come spesso pensano i clienti aziendali. È per questo che è richiesta l'analisi intelligente dei dati (data mining e data wrangling). Essa aiuta a identificare valori mancanti e pattern nei dati strutturati tramite query che un essere umano non riesce a determinare. Per trovare e utilizzare questi pattern per prevedere i risultati attraverso le relazioni scoperte nei dati, è utile il machine learning.
Per comprendere qualsiasi algoritmo, è necessario esaminare tutte le variabili nei dati e scoprire cosa rappresentano queste variabili. Questo è estremamente importante, poiché la giustificazione dei risultati si basa sulla comprensione dei dati. Se i dati contengono 5 o anche 50 variabili, si possono esaminare tutte. E se sono 200? Allora non sarà semplicemente sufficiente il tempo per esaminare ogni singola variabile. Inoltre, alcuni algoritmi non funzionano per i dati categoriali, e quindi sarà necessario convertire tutte le colonne categoriali in variabili quantitative (possono apparire quantitative, ma le metriche mostreranno che sono categoriali), per poterle inserire nel modello. In questo modo, il numero di variabili cresce e si arriva a circa 500. Cosa fare adesso? Si potrebbe pensare che la risposta sia la riduzione della dimensionalità. Gli algoritmi di riduzione della dimensionalità riducono il numero di parametri, ma influenzano negativamente l'interpretazione. E se ci fossero altre tecniche che escludono le caratteristiche ma permettono di capire e interpretare facilmente quelle rimaste?
A seconda che l'analisi si basi sulla regressione o sulla classificazione, gli algoritmi di selezione delle caratteristiche possono variare, ma l'idea principale della loro implementazione rimane la stessa.
Variabili fortemente correlate
Variabili fortemente correlate tra loro forniscono alla modello la stessa informazione, quindi non è necessario utilizzarle tutte per l'analisi. Ad esempio, se il set di dati contiene le caratteristiche "Tempo online" e "Traffico utilizzato", si può ipotizzare che siano correlate in qualche misura e vedremo una forte correlazione, anche se scegliamo un campione di dati imparziale. In questo caso, nel modello è necessaria solo una di queste variabili. Se utilizziamo entrambe, il modello risulterà sovradattato (overfit) e parziale rispetto a una singola caratteristica.
Valori p
In algoritmi come la regressione lineare, un modello statistico iniziale è sempre una buona idea. Aiuta a mostrare l'importanza delle caratteristiche attraverso i loro valori p, ottenuti da questo modello. Stabilendo il livello di significatività, verifichiamo i valori p ottenuti e se un valore si trova al di sotto del livello di significatività stabilito, quella caratteristica viene dichiarata significativa, ovvero la modifica del suo valore probabilmente porterà a una modifica del valore dell'obiettivo (target).
Selezione diretta
La selezione diretta è una tecnica che implica l'uso della regressione passo-passo. La costruzione del modello inizia da zero, cioè da un modello vuoto, e poi ad ogni iterazione viene aggiunta una variabile che apporta un miglioramento al modello in costruzione. La variabile da aggiungere al modello è determinata dalla sua importanza. Ciò può essere calcolato utilizzando diverse metriche. Il metodo più comune consiste nell'applicare i valori p ottenuti dal modello statistico iniziale utilizzando tutte le variabili. A volte la selezione diretta può portare a un sovradattamento del modello, poiché nel modello possono trovarsi variabili fortemente correlate, anche se forniscono la stessa informazione al modello (ma il modello mostra comunque un miglioramento).
Selezione inversa
La selezione inversa consiste anche nell'esclusione passo dopo passo delle variabili, ma nella direzione opposta rispetto a quella diretta. In questo caso, il modello iniziale include tutte le variabili indipendenti. Successivamente, le variabili vengono escluse (una alla volta per iterazione) se non apportano valore al nuovo modello di regressione in ciascuna iterazione. Alla base dell'esclusione delle variabili ci sono i valori p del modello iniziale. Anche in questo metodo è presente incertezza nell'eliminazione di variabili altamente correlate.
Esclusione ricorsiva delle variabili
RFE è una tecnica/algoritmo ampiamente utilizzato per selezionare un numero preciso di variabili significative. A volte il metodo viene utilizzato per spiegare un certo numero di "variabili più importanti" che influenzano i risultati; altre volte per ridurre un numero molto elevato di variabili (circa 200-400) e lasciare solo quelle che danno un qualche contributo al modello, escludendo tutte le altre. RFE utilizza un sistema di ranking. Vengono assegnati dei punteggi alle variabili nel set di dati. Questi punteggi vengono quindi utilizzati per l'esclusione ricorsiva delle variabili in base alla collinearità tra di esse e alla loro importanza nel modello. Oltre al ranking delle variabili, RFE può mostrare se queste variabili siano importanti o meno, anche per un numero predefinito di variabili (poiché è molto probabile che il numero scelto di variabili possa non essere ottimale, e il numero ottimale di variabili potrebbe essere sia maggiore che minore rispetto a quello scelto).
Diagramma dell'importanza delle variabili
Quando si parla di interpretabilità degli algoritmi di machine learning, si discutono generalmente le regressioni lineari (che consentono di analizzare l'importanza delle variabili tramite valori p) e gli alberi decisionali (che mostrano letteralmente l'importanza delle variabili sotto forma di albero, così come la loro gerarchia). D'altra parte, in algoritmi come Random Forest, LightGBM e XG Boost, viene spesso utilizzato un diagramma di importanza delle variabili, cioè viene costruito un diagramma delle variabili e "della loro importanza complessiva". Questo è particolarmente utile quando è necessario fornire una giustificazione strutturata dell'importanza delle variabili in relazione al loro impatto sul business.
Regolarizzazione
La regolarizzazione viene effettuata per controllare l'equilibrio tra il bias e la varianza. Il bias indica quanto un modello si è adattato (overfit) al set di dati di addestramento. La varianza mostra quanto siano diverse le previsioni tra i set di dati di addestramento e di test. Idealmente, sia il bias che la varianza dovrebbero essere piccoli. Qui entra in gioco la regolarizzazione! Esistono due tecniche principali:
Regolarizzazione L1 — Lasso: Lasso penalizza i coefficienti di peso del modello per modificare la loro importanza e può persino annullarli (cioè rimuovere queste variabili dal modello finale). Di solito, Lasso viene utilizzato se il set di dati contiene un gran numero di variabili e si devono escludere alcune di esse per comprendere meglio come le caratteristiche importanti influenzano il modello (cioè quelle caratteristiche selezionate da Lasso e con importanza stabilita).
Regolarizzazione L2 — metodo Ridge: L'obiettivo del Ridge è mantenere tutte le variabili e allo stesso tempo assegnare loro un'importanza in base al contributo all'efficacia del modello. Il Ridge sarà una buona scelta se il set di dati contiene un numero ridotto di variabili e tutte sono necessarie per interpretare le conclusioni e i risultati ottenuti.
Poiché il Ridge mantiene tutte le variabili, mentre il Lasso stabilisce meglio la loro importanza, è stato sviluppato un algoritmo che combina i migliori aspetti di entrambe le regolarizzazioni, noto come Elastic-Net.
Esistono ancora molti altri modi di selezione delle caratteristiche per il machine learning, ma l'idea principale rimane sempre la stessa: dimostrare l'importanza delle variabili e poi escluderne alcune in base all'importanza ottenuta. L'importanza è un termine molto soggettivo, poiché non è un solo indicatore, ma un insieme di metriche e diagrammi che possono essere utilizzati per trovare le caratteristiche chiave.
Grazie per la lettura! Buono studio!
Fonte: habr.com
