In un mondo permeato dai dati, come quello in cui viviamo attualmente, è di fondamentale importanza avere degli strumenti concettuali e tecnologici che aiutino a scavare al loro interno per trovare quelle gemme preziose nascoste tra i record che permettono di dedurre un nuovo sapere al quale difficilmente si potrebbe arrivare con una semplice analisi manuale degli stessi.
Molte delle informazioni più interessanti presenti in un dataset infatti non sono direttamente evidenti; analisi non automatizzate possono richiedere anche settimane per estrarre nuove nozioni e in genere in questi casi, si utilizza un approccio a campione per cui una larga parte dei dati non viene di fatto mai analizzata.
La quantità di dati memorizzata su supporti informatici inoltre è sempre in continuo aumento: pagine web, sistemi di e-commerce, dati relativi ad acquisti e scontrini fiscali, transazioni bancarie relative a carte di credito, sono solo alcuni esempi delle innumerevoli sorgenti di dati che costantemente riempiono i record dei database e che non sono analizzabili con tecniche tradizionali.
Il data mining dunque permette di classificare i dati, segmentarli e formulare ipotesi per arrivare a una nuova conoscenza, sfruttabile in diversi campi per molteplici obiettivi, partendo da informazioni enigmatiche e spesso di tipo diverso, memorizzate in modo disordinato in grandi database; per raggiungere questo obiettivo si mette alla ricerca di associazioni, anomalie e schemi ricorrenti (pattern) all’interno dei dati stessi.
Alla base di questa importante disciplina del campo della Data Analysis, ci sono diverse discipline scientifiche intrecciate: machine learning, intelligenza artificiale, pattern recognition, statistica e basi di dati.
In particolare, come tecnologie e algoritmi impiegati, si utilizzano reti neurali, alberi decisionali, clustering e analisi delle associazioni; grazie all’elevato parallelismo delle risorse di calcolo disponibili sulle quali distribuire il calcolo, queste tecniche sono normalmente applicate con un’efficienza che supera di gran lunga quella di un operatore umano che li analizzasse manualmente.
Il data mining quindi nasce per sostituire le tradizionali tecniche di analisi, che risultano inidonee a causa della cospicua dimensione dei dati, della loro elevata dimensione e della loro eterogeneità. Le modalità di funzionamento di questa disciplina sono quelle tipiche dei sistemi di predizione e descrizione: selezionare alcune variabili per predire il valore sconosciuto o futuro di altre variabili e trovare pattern che descrivano nuove e ancora sconosciute caratteristiche dei dati.
A questo scopo quindi vengono addestrati in modo opportuno dei modelli di classificazione, regressione e individuazione di deviazioni (per quanto riguarda le attività predittive) e clustering, ricerca di regole associative, ricerca di pattern sequenziali (per quanto riguarda le attività descrittive).
Per capire meglio cosa si intende per alcune delle tecniche di analisi appena citate, possiamo dire, a titolo di esempio, che nelle operazioni di classificazione si fa in modo di assegnare record non noti a una particolare classe nel modo più accurato possibile.
L’accuratezza del modello è valutabile con un test set che si ottiene dal dataset che si vuole analizzare, insieme ai dati che si utilizzano per addestrare il modello; questo tipo di applicazioni è tipicamente utilizzato, ad esempio, per l’individuazione di frodi. Nel clustering invece, dato un insieme di punti, ognuno caratterizzato da un insieme di attributi, e avendo a disposizione una misura di similarità tra i punti, si cercano i sottoinsiemi di punti tali che i punti appartenenti a un sottoinsieme sono più simili fra loro rispetto a quelli appartenenti ad altri cluster; questo tipo di applicazioni è tipicamente utilizzato, ad esempio, per segmentare il mercato.
Relativamente alle regole associative inoltre il data mining è in grado di produrre delle regole di dipendenza che predicono l’occorrenza di uno degli elementi in presenza di occorrenze degli altri, tecnica utilizzata per decidere la disposizione della merce in un negozio. Ultimo, ma non per importanza, questo approccio all’analisi dei dati è in grado di predire il valore di una variabile a valori comuni sulla base di valori di altre variabili assumendo un modello di dipendenza lineare/non lineare facendo uso di tecniche statistiche e reti neurali; in questo modo è possibile predire l’andamento del mercato azionario.
I tool a disposizione per questo tipo di approccio ai dati sono molteplici, e potremmo spendere diversi paragrafi a illustrarli tutti ma, tra questi, quello che presenta il miglior rapporto tra semplicità di utilizzo e potenza di calcolo è sicuramente Orange3 (https://orangedatamining.com/), un tool open source per applicazioni di machine learning e visualizzazione dei dati.
Il programma si presenta con un’interfaccia grafica molto semplice, nella quale i diversi strumenti a disposizione sono rappresentati con delle icone che si possono connettere tra di loro, per incrementare la complessità degli algoritmi di analisi che si vogliono sviluppare. Tra gli algoritmi di analisi a disposizione e attivabili con un click possiamo trovare dei sistemi per il data pre-processing, che serve a fare ad esempio l’imputazione dei dati, l’individuazione degli outlier, la trasformazione delle variabili e la gestione di dataset non bilanciati, sistemi di modellizzazione per risolvere problemi di classificazione e regressione tramite support vector machines (SVM), reti neurali, kNN, k-means, random forest etc., sistemi per la previsione di serie temporali e per la classificazione delle immagini.
Se volessi iniziare a verificare le tue capacità e competenze in questo campo puoi iniziare con un tool come Orange3, utilizzando alcuni dei dataset di esempio integrati all’interno del software stesso e seguire i tutorial inclusi nel pacchetto che ti guideranno nella realizzazione di interessanti applicazioni di data mining che ti mostreranno la potenza delle tecniche citate in questo post.
Per sviluppare applicazioni professionali e/o risolvere problemi complessi con i dati che hai ha disposizione nella tua azienda, non esitare invece a rivolgerti a un team di professionisti. Linkalab lavora da più di dieci anni quotidianamente su progetti che includono anche una componente importante di data mining.