Concetti di data mining
Il data mining è il processo di individuazione di informazioni utilizzabili da grandi set di dati. Nel data mining viene usata l'analisi matematica per dedurre modelli e tendenze esistenti nei dati. In genere, questi modelli non possono essere individuati tramite l'esplorazione tradizionale dei dati perché le relazioni sono troppo complesse o perché sono presenti troppi dati.
I modelli e le tendenze possono essere raccolti e definiti in un modello di data mining. È possibile applicare i modelli di data mining a scenari specifici, ad esempio:
Previsioni: stima delle vendite, dei carichi del server o del tempo di inattività del server
Rischio e probabilità: scelta dei clienti migliori per mailing diretti, determinazione del punto di pareggio probabile per scenari di rischio e assegnazione di probabilità a diagnosi o ad altri risultati
Indicazioni: determinazione dei prodotti che probabilmente vengono venduti insieme e generazione di indicazioni
Individuazione delle sequenze: analisi delle scelte dei clienti in un carrello acquisti e stima dei possibili eventi successivi
Raggruppamento: separazione di clienti o eventi in cluster di elementi correlati, analisi e stima delle affinità
La compilazione di un modello di data mining rientra in un processo più ampio che include tutte le fasi necessarie, dalla formulazione di domande sui dati e dalla creazione di un modello per rispondere a tali domande, alla distribuzione del modello in un ambiente di lavoro. È possibile definire tale processo suddividendolo nei sei passaggi di base seguenti:
Il diagramma seguente descrive le relazioni tra ogni passaggio del processo e le tecnologie in Microsoft SQL Server che è possibile usare per completare ogni passaggio.
di
Il processo illustrato nel diagramma è ciclico, pertanto la creazione di un modello di data mining è un processo dinamico e iterativo. Dopo avere esplorato i dati, è possibile scoprire che questi dati non sono sufficienti per la creazione di modelli di data mining appropriati e che pertanto è necessario cercarne altri. In alternativa, è possibile compilare diversi modelli e successivamente rendersi conto che tali modelli non consentono di risolvere in modo appropriato il problema definito, il quale deve pertanto essere ridefinito. Potrebbe inoltre essere necessario aggiornare i modelli dopo la loro distribuzione perché nel frattempo sono diventati disponibili altri dati. Potrebbe inoltre essere necessario ripetere molte volte ogni passaggio del processo per creare un modello funzionale.
Data Mining di Microsoft SQL Server offre un ambiente integrato per la creazione e l'utilizzo dei modelli di data mining. Questo ambiente include SQL Server Development Studio, che contiene algoritmi di data mining e strumenti di query che semplificano la creazione di una soluzione completa per un'ampia gamma di progetti e SQL Server Management Studio, che contiene strumenti per esplorare modelli e gestire oggetti di data mining. Per altre informazioni, vedere Creazione di modelli multidimensionali tramite SQL Server Data Tools (SSDT).
Per un esempio di come è possibile applicare gli strumenti di SQL Server a uno scenario aziendale, vedere l'esercitazione di base sul data mining.
Definizione del problema
Il primo passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nel definire chiaramente il problema e nel considerare le modalità con cui i dati possono essere usati per risolvere il problema.
di
Tale passaggio include l'analisi dei requisiti aziendali e la definizione dell'ambito del problema, della metrica in base alla quale verrà valutato il modello e degli obiettivi specifici per il progetto di data mining. È necessario trasformare queste attività nelle domande seguenti:
Quali tipi di dati sono necessari? Quali tipi di relazioni si intende trovare?
Il problema che si sta tentando di risolvere riflette i criteri o i processi aziendali?
Si desidera eseguire stime in base al modello di data mining o soltanto cercare modelli e associazioni interessanti?
Quale risultato o attributo del set di dati si desidera stimare?
Di che tipo di dati si dispone e che tipo di informazioni è contenuto in ogni colonna? Se esistono più tabelle, che tipo di relazione esiste tra di esse? È necessario eseguire operazioni di pulizia, aggregazione o elaborazione per rendere i dati utilizzabili?
Come sono distribuiti i dati? Si tratta di dati stagionali? I dati rappresentano accuratamente i processi aziendali?
Per rispondere a queste domande, potrebbe essere necessario effettuare uno studio sulla disponibilità dei dati al fine di individuare le esigenze degli utenti aziendali in relazione ai dati disponibili. Se i dati non soddisfano le esigenze degli utenti, potrebbe essere necessario ridefinire il progetto.
È inoltre necessario considerare i modi in cui incorporare i risultati del modello negli indicatori di prestazioni chiave usati per misurare i progressi aziendali.
Preparazione dei dati
Il secondo passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nel consolidamento e nella pulizia dei dati identificati nel passaggio Definizione del problema .
del
I dati possono essere sparsi nell'intera azienda e archiviati in formati diversi oppure possono contenere incoerenze quali voci errate o mancanti. I dati potrebbero ad esempio indicare che un cliente ha acquistato un prodotto prima che tale prodotto fosse disponibile sul mercato o che effettua acquisti periodicamente presso un negozio situato a 2.000 chilometri di distanza da casa sua.
La pulizia dei dati non consiste solo nella rimozione di quelli errati o nell'interpolazione dei valori mancanti, ma anche nell'individuazione delle correlazioni nascoste nei dati, nell'identificazione delle origini dati più accurate e nella determinazione delle colonne più appropriate per l'utilizzo nell'analisi. Ad esempio, deve essere usata la data di spedizione o quella dell'ordine? Il miglior fattore di influenza sulle vendite è la quantità, il prezzo totale o un prezzo scontato? I dati incompleti, errati e gli input che appaiono separati, ma che in realtà sono fortemente correlati, possono incidere sui risultati del modello in modi non previsti.
Pertanto, prima di avviare la compilazione di modelli di data mining, è necessario identificare questi problemi e stabilire come risolverli. Per il data mining in genere si lavora con un set di dati molto grande e non è possibile esaminare ogni transazione per la qualità dei dati; potrebbe pertanto essere necessario usare una forma di profilatura dei dati e strumenti di pulizia e filtro automatizzati dei dati, ad esempio quelli forniti in Integration Services, Microsoft SQL Server 2012 Master Data Services o SQL Server Data Quality Services per esplorare i dati e trovare le incongruenze. Per ulteriori informazioni, vedere le risorse:
È importante notare che i dati usati per il processo di data mining non devono essere archiviati in un cubo OLAP (Online Analytical Processing) o in un database relazionale, anche se è possibile usare entrambi come origini dati. È possibile eseguire il data mining usando qualsiasi origine di dati definita come origine dati di Analysis Services. Sono inclusi file di testo, cartelle di lavoro di Excel o dati da altri provider esterni. Per altre informazioni, vedere Origini dati supportate (SSAS Multidimensionale).
Esplorazione dei dati
Il terzo passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nell'esplorazione dei dati preparati.
del
Per prendere decisioni appropriate durante la creazione dei modelli di data mining, è necessario interpretare correttamente i dati. Tra le tecniche di esplorazione sono inclusi il calcolo dei valori minimi e massimi, il calcolo delle deviazioni media e standard e l'analisi della distribuzione dei dati. Ad esempio, analizzando i valori massimo, minimo e medio è possibile stabilire che i dati non sono rappresentativi dei clienti o dei processi aziendali e che di conseguenza è necessario ottenere dati più equilibrati o rivedere le ipotesi su cui si basano le proprie aspettative. Deviazioni standard e altri valori di distribuzione possono fornire informazioni utili su stabilità e accuratezza dei risultati. Una marcata deviazione standard può indicare che l'aggiunta di ulteriori dati potrebbe migliorare il modello. I dati con una notevole deviazione da una distribuzione standard potrebbero essere asimmetrici oppure rappresentare un'immagine precisa di un problema reale, ma rendere difficile l'adattamento di un modello ai dati.
Esplorando i dati alla luce della propria conoscenza del problema aziendale, è possibile decidere se nel set di dati sono contenuti dati non validi, quindi mettere a punto una strategia per risolvere i problemi o per acquisire una comprensione più approfondita dei comportamenti tipici dell'azienda.
È possibile usare strumenti come Master Data Services per creare canvas origini di dati disponibili e determinare la disponibilità per il data mining. È possibile usare strumenti come SQL Server Data Quality Services o Data Profiler in Integration Services, per analizzare la distribuzione dei dati e risolvere i problemi, ad esempio dati errati o mancanti.
Dopo aver definito le origini, le si combinano in una visualizzazione Origine dati usando la Designer visualizzazione origine dati in SQL Server Data Tools. Per altre informazioni, vedere Viste origine dati in modelli multidimensionali. In questa finestra di progettazione sono disponibili inoltre alcuni strumenti utilizzabili per esplorare i dati e verificare che siano adatti per la creazione di un modello. Per altre informazioni, vedere Esplorare i dati in una vista origine dati (Analysis Services).
Si noti che quando si crea un modello, Analysis Services crea automaticamente riepiloghi statistici dei dati contenuti nel modello, che è possibile eseguire query per l'uso nei report o ulteriori analisi. Per altre informazioni, vedere Query di data mining.
Compilazione dei modelli
Il quarto passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nella compilazione del modello o dei modelli di data mining. Le conoscenze acquisite durante il passaggio Esplorazione dei dati verranno usate per definire e creare i modelli.
di
Le colonne di dati che si desidera usare vengono definite creando una struttura di data mining. La struttura di data mining è collegata all'origine dei dati, ma di fatto non contiene alcun dato finché non viene elaborata. Quando si elabora la struttura di data mining, Analysis Services genera aggregazioni e altre informazioni statistiche che possono essere usate per l'analisi. Queste informazioni possono essere usate da qualsiasi modello di data mining basato sulla struttura. Per altre informazioni sul modo in cui le strutture di data mining sono correlate ai modelli di data mining, vedere Architettura logica (Analysis Services - Data Mining).
Prima dell'elaborazione della struttura e del modello, anche un modello di data mining è semplicemente un contenitore in cui sono specificate le colonne usate per l'input, l'attributo stimato e i parametri tramite cui viene indicato all'algoritmo come elaborare i dati. L'elaborazione di un modello viene spesso definita training. Il termine training si riferisce al processo di applicazione di un algoritmo matematico specifico ai dati nella struttura allo scopo di estrarre dei modelli. I modelli che si trovano nel processo di training dipendono dalla selezione dei dati di training, dall'algoritmo che si sceglie e dalla modalità di configurazione di quest'ultimo. SQL Server 2014 contiene molti algoritmi diversi, ognuno adatto a un tipo diverso di attività e ognuno crea un tipo di modello diverso. Per un elenco degli algoritmi forniti in SQL Server 2014, vedere Algoritmi di data mining (Analysis Services - Data mining).
Per regolare ciascun algoritmo, è anche possibile usare parametri e applicare filtri ai dati di training per usare solo un subset di dati, generando risultati diversi. Dopo avere passato i dati nel modello, l'oggetto modello di data mining contiene riepiloghi e schemi su cui è possibile eseguire query o che possono essere usati per la stima.
È possibile definire un nuovo modello utilizzando la Creazione guidata modello di data mining in SQL Server Data Tools o usando il linguaggio DMX (Data Mining Extensions). Per altre informazioni sull'utilizzo della Creazione guidata modello di data mining, vedere Creazione guidata modello di data mining (Analysis Services - Data mining). Per altre informazioni sull'uso di DMX, vedere Informazioni di riferimento sulle estensioni di data mining (DMX).
È importante ricordare che a ogni modifica dei dati è necessario aggiornare sia la struttura di data mining sia il modello di data mining. Quando si aggiorna una struttura di data mining rielaborandola, Analysis Services recupera i dati dall'origine, inclusi i nuovi dati se l'origine viene aggiornata dinamicamente e ripopola la struttura di data mining. Se si dispone di modelli basati sulla struttura, è possibile scegliere di aggiornare i modelli basati sulla struttura, ovvero sottoporli nuovamente al training sulla base dei nuovi dati, oppure lasciare invariati i modelli. Per altre informazioni, vedere Requisiti e considerazioni sull'elaborazione (data mining).
Esplorazione e convalida dei modelli
Il quinto passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nell'esplorazione dei modelli di data mining compilati e nella verifica della relativa efficienza.
di
Prima di distribuire un modello in un ambiente di produzione, è opportuno verificarne le prestazioni. Inoltre, quando si compila un modello, in genere si creano più modelli con configurazioni diverse e si testano tutti per stabilire quale di questi produce i migliori risultati per il problema e i dati.
Analysis Services offre strumenti che consentono di separare i dati in set di dati di training e test, in modo da poter valutare in modo accurato le prestazioni di tutti i modelli sugli stessi dati. Il set di dati di training viene usato per compilare il modello, mentre il set di dati di testing viene usato per verificare l'accuratezza del modello creando query di stima. In SQL Server 2014 Analysis Services (SSAS), questo partizionamento può essere eseguito automaticamente durante la compilazione del modello di data mining. Per altre informazioni, vedere Test e convalida (data mining).
È possibile esplorare le tendenze e i modelli individuati dagli algoritmi usando i visualizzatori in Data mining Designer in SQL Server Data Tools. Per altre informazioni, vedere Visualizzatori modello di data mining. È inoltre possibile verificare l'accuratezza delle stime create dai modelli mediante gli strumenti della finestra di progettazione, ad esempio il grafico di accuratezza e la matrice di classificazione. Per verificare se il modello è specifico per i dati o se può essere usato per creare inferenze sul popolamento generale, è possibile usare la tecnica statistica chiamata convalida incrociata per creare automaticamente subset dei dati ed eseguire il test del modello rispetto a ogni subset. Per altre informazioni, vedere Test e convalida (data mining).
Se nessuno dei modelli creati durante il passaggio Compilazione dei modelli risulta efficace, potrebbe essere necessario tornare al passaggio precedente del processo e ridefinire il problema o esaminare nuovamente i dati nel set di dati originale.
Distribuzione e aggiornamento dei modelli
L'ultimo passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nella distribuzione dei modelli più efficaci in un ambiente di produzione.
di
Dopo la distribuzione dei modelli di data mining in un ambiente di produzione, è possibile eseguire numerose attività, a seconda delle esigenze. Tra le attività che è possibile eseguire sono incluse le seguenti:
Usare i modelli per creare stime che è possibile usare per prendere decisioni aziendali. SQL Server fornisce il linguaggio DMX che è possibile usare per creare query di stima e Generatore query di stima per semplificare la compilazione delle query. Per altre informazioni, vedere Guida di riferimento a DMX (Data Mining Extensions).
Creare query sul contenuto per recuperare statistiche, regole o formule dal modello. Per altre informazioni, vedere Query di data mining.
Incorporare la funzionalità di data mining direttamente in un'applicazione. È possibile includere la libreria AMO (Analysis Management Objects) che contiene un set di oggetti utilizzabili dall'applicazione per creare, modificare, elaborare ed eliminare strutture e modelli di data mining. In alternativa, è possibile inviare messaggi XML for Analysis (XMLA) direttamente a un'istanza di Analysis Services.
Usare Integration Services per creare un pacchetto in cui viene usato un modello di data mining per separare in modo intelligente i dati in ingresso in più tabelle. Ad esempio, se un database viene aggiornato continuamente con potenziali clienti, è possibile usare un modello di data mining insieme a Integration Services per suddividere i dati in ingresso in clienti che probabilmente acquistano un prodotto e i clienti che probabilmente non acquistano un prodotto.
Creare un report che consenta agli utenti di eseguire direttamente le query su un modello di data mining esistente. Per altre informazioni, vedere Reporting Services in SQL Server Data Tools (SSDT).
Aggiornare i modelli dopo la revisione e l'analisi. Qualsiasi aggiornamento richiede la rielaborazione dei modelli. Per altre informazioni, vedere Processing Data Mining Objects.
La pratica di aggiornare dinamicamente i modelli, parallelamente all'ingresso di ulteriori dati nell'organizzazione, e di apportare modifiche costanti per migliorare l'efficacia della soluzione deve essere parte integrante della strategia di distribuzione. Per altre informazioni, vedere Gestione di soluzioni e oggetti di data mining