In questo secondo progetto di data mining si è lavorato su un dataset con attributi relativi a delle condizioni come umidità, temperatura, luce all’interno di una stanza con l’obiettivo di predire se la stanza sia occupato o meno.
Classificatori e dataset sbilanciato
Si sono applicati algoritmi di classificazione già visti a Data mining 1, come KNN, Decision Tree, ma anche di nuovi come Logistic Regression e Naive Bayes.
Questi algoritmi sono stati applicati a un dataset bilanciato ma anche a un dataset sbilanciato nelle classi da predire, per verificare la differenza nei risultati ottenuti. Sono state applicate poi tecniche di resampling del dataset, per poterlo rendere di nuovo bilanciato.
Si è applicato la PCA, una tecnica di riduzione della dimensionalità del dataset, applicando successivamente sempre gli algoritmi sopra citati, confrontando i risultati con il caso base.
Classificatori avanzati
In questa seconda fase si sono applicati classificatori più avanzati come SVM (Support Vector Machine), Multilayer Perceptron, ma anche Deep Neural Network (feedforward, CNN, recurrent).
Si è utilizzato ensemble classifier, come Random Forest, AdaBoost, BAGGING valutando il miglioramento di performance rispetto a classificatori più semplici.
Time series analysis, forecasting e classificazione
In questa terza fase, sono estratte dal dataset delle time series (gli attributi citati all’inizio sono stati misurati nel tempo). Si è quindi eseguito algoritmi per le Motif discovery (pattern ripetuti all’interno di una time series) e Shapelet discovery (sottosequenze che sono le più rappresentative della classe a cui appartiene la time series).
Si è applicato algoritmi di clustering per time series, algoritmi di classificazione per time series univariate e multivariate (ad ogni istante si prende in considerazione più attributi, quindi ogni valore è n-dimensionale).
Sequential Pattern Mining
A partire dalle time series sopra estratte, si è applicato algoritmi di discretizzazione come SAX, per poter trattare le time series come sequenze e eseguire algoritmi di scoperta di pattern significativi ripetuti.
Outlier detection
In questa quinta parte si è applicato algoritmi di outlier detection, come LOF (Local Outlier Factor), ABOD (Angle Based Outlier Detection).
Explainability dei modelli
In questa ultima task si è utilizzato algoritmi che aiutano a risolvere il cosiddetto problema della black box, ovvero quei modelli efficaci ma difficilmente interpretabili: l’esempio per eccellenza sono le reti neurali, ma anche un random forest rispetto a un decision tree, o SVM.
Si è deciso dunque di applicare un Inspection Model Explainer a modelli precedentemente utilizzati come SVM e Multilayer Perceptron.
Download del documento
Per una maggiore comprensione degli algoritmi utilizzati, delle prove fatte, potete scaricare il documento relativo qui sotto.