Elo Merchant Category Recommendation 2019-11-06T15:27:31+01:00

Project Description

Il project work consiste nella partecipazione alla Kaggle competition “Elo Merchant Category Recommendation”. Lo scopo di quest’ultima, promossa dalla compagnia brasiliana Elo operante nel settore delle carte di credito, era quello di creare un algoritmo di machine learning che prevedesse la tendenza dei clienti a ripetere gli acquisti negli stessi esercizi commerciali, basandosi sulle transazioni da loro effettuate negli ultimi tre mesi.
Per il progetto sono stati messi a disposizione diversi dataset in csv (anagrafiche clienti, transazioni effettuate in negozi già visitati, transazioni effettuate in negozi mai visitati prima e anagrafiche negozi) che ho analizzato utilizzando come unico strumento Python.

Dopo aver deciso di procedere con l’aggregazione delle transazioni per singolo cliente, in modo da riportare l’analisi alla granularità richiesta, è stato necessario effettuare delle operazioni di data manipulation per rendere possibile l’analisi dei dati; ho deciso di procedere in questo modo e non eliminando le righe che presentavano missing data per non alterare dei dati importanti (ad esempio il numero delle transazioni per cliente).
Ogni dato mancante è stato imputato con un diverso criterio a seconda della tipologia della variabile e della distribuzione assunta dalle modalità della stessa.

Una volta ottenuto il dataset pulito ho analizzato la variabile target ed ho notato che quest’ultima presentava una distribuzione normale, eccezion fatta per l’1% circa dei valori che assumevano una modalità molto lontana dalla media, andando di fatto a peggiorare le performance dei vari modelli.
Per risolvere il problema ho pensato di creare una sorta di modello ensemble che andasse dapprima ad identificare gli outlier e poi applicasse una diversa regressione ai due distinti dataset ottenuti.
Una volta raggiunto l’obbiettivo ho pensato di andare ad eliminare dal dataset gli outlier e applicare nuovamente il modello di regressione iniziale per ottenere una previsione più accurata, ottenendo di fatto un RMSE molto basso.

Sia il modello ensemble che il modello di regressione addestrato sul dataset privo di outlier hanno dato dei discreti risultati, la scelta di uno rispetto all’altro dipende dalle esigenze dell’azienda promotrice se per essa è più importante distinguere gli outlier dai restanti clienti oppure avere un modello più preciso nella maggioranza dei casi, a costo di classificare molto male in caso di outlier.

Project Details