Concetti di data mining (Analysis Services - Data mining)
Il data mining è il processo di individuazione di informazioni utilizzabili da grandi set di dati. Nel data mining viene utilizzata l'analisi matematica per dedurre schemi e tendenze esistenti nei dati. In genere, questi schemi non possono essere individuati tramite l'esplorazione tradizionale dei dati perché le relazioni sono troppo complesse o perché sono presenti troppi dati.
Gli schemi e le tendenze possono essere raccolti e definiti in un modello di data mining. È possibile applicare i modelli di data mining a scenari aziendali specifici, ad esempio:
Previsioni di vendite
Mailing diretti a clienti specifici
Individuazione dei prodotti che probabilmente verranno venduti insieme
Ricerca di sequenze nell'ordine in cui i clienti aggiungono prodotti a un carrello acquisti
La creazione 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:
Definizione del problema
Preparazione dei dati
Esplorazione dei dati
Creazione dei modelli
Esplorazione e convalida dei modelli
Distribuzione e aggiornamento dei modelli
Nel diagramma seguente vengono descritte le relazioni tra i vari passaggi del processo e le tecnologie di MicrosoftSQL Server 2008 che consentono di completare ogni passaggio.
Sebbene il processo illustrato nel diagramma sia circolare, non necessariamente ogni passaggio conduce direttamente a quello successivo. 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 creare 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.
SQL Server 2008 offre un ambiente integrato per la creazione e l'utilizzo dei modelli di data mining, denominato Business Intelligence Development Studio. Tale ambiente include strumenti e algoritmi di data mining che semplificano la realizzazione di una soluzione completa per un'ampia gamma di progetti. Per ulteriori informazioni sull'utilizzo di BI Development Studio, vedere Sviluppo e implementazione utilizzando Business Intelligence Development Studio.
Dopo avere creato una soluzione di data mining, è possibile gestirla ed esplorarla tramite SQL Server Management Studio. Per ulteriori informazioni, vedere Gestione di strutture e modelli di data mining.
Per un esempio di applicazione degli strumenti di SQL Server a uno scenario aziendale, vedere 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 aziendale e nel considerare le diverse modalità per risolverlo.
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 schemi e associazioni interessanti?
Quale attributo del set di dati si desidera stimare?
Come sono correlate le colonne? Se esistono più tabelle, che tipo di relazione esiste tra di esse?
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 (KPI) utilizzati 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.
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, ma anche nell'identificazione delle correlazioni nascoste nei dati, delle origini dati più accurate e delle colonne più appropriate per l'utilizzo nell'analisi. Ad esempio, deve essere utilizzata 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 creazione di modelli di data mining, è necessario identificare questi problemi e stabilire come risolverli.
In genere viene utilizzato un set di dati di dimensioni molto estese e non è possibile esaminare ogni transazione. Di conseguenza, è necessario utilizzare una qualche forma di automazione, come in Integration Services, per esplorare i dati e trovare le incoerenze. In MicrosoftSQL Server 2008 Integration Services (SSIS) sono disponibili tutti gli strumenti necessari per completare questo passaggio, incluse le trasformazioni per rendere automatiche le operazioni di pulizia e consolidamento dei dati. Per ulteriori informazioni, vedere Integration Services in Business Intelligence Development Studio.
È importante notare che i dati utilizzati 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 utilizzare entrambi come origini dati. È possibile eseguire il processo di data mining utilizzando qualsiasi origine dati definita come un'origine dati Analysis Services. Sono inclusi file di testo, cartelle di lavoro di Excel o dati da altri provider esterni. Per ulteriori informazioni, vedere Definizione di origini dei dati (Analysis Services).
Esplorazione dei dati
Il terzo passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nell'esplorazione dei dati preparati.
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 il set di dati contiene 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.
In Progettazione vista origine dati, disponibile in BI Development Studio, sono inclusi diversi strumenti per l'esplorazione dei dati. Per ulteriori informazioni, vedere Progettazione di viste origine dati (Analysis Services) o Esplorazione dei dati in una vista origine dati (Analysis Services).
Inoltre, al momento della creazione di un modello, in Analysis Services vengono automaticamente creati riepiloghi statistici dei dati contenuti nel modello, su cui è possibile eseguire una query da utilizzare in report o ulteriori analisi. Per ulteriori informazioni, vedere Esecuzione di query sui modelli di data mining (Analysis Services - Data mining).
Creazione dei modelli
Il quarto passaggio del processo di data mining, illustrato nel diagramma seguente, consiste nella creazione del modello o dei modelli di data mining. Le conoscenze acquisite durante il passaggio Esplorazione dei dati verranno utilizzate per definire e creare i modelli.
I dati che si desidera utilizzare vengono definiti creando una struttura di data mining. La struttura di data mining definisce l'origine dei dati, ma non contiene dati finché non viene elaborata. Quando si elabora la struttura di data mining, Analysis Services genera aggregazioni e altre informazioni statistiche utilizzabili per l'analisi. Queste informazioni possono essere utilizzate da qualsiasi modello di data mining basato sulla struttura. Per ulteriori informazioni sulla correlazione tra strutture e modelli di data mining, vedere Architettura logica (Analysis Services – Data mining).
Prima di essere elaborato, un modello di data mining è semplicemente un contenitore in cui sono specificate le colonne utilizzate per l'input, l'attributo stimato e i parametri che indicano all'algoritmo come elaborare i dati. L'elaborazione di un modello viene anche definita training. Il termine training si riferisce al processo di applicazione di un algoritmo matematico specifico ai dati nella struttura allo scopo di estrarre degli schemi. Gli schemi individuati nel processo di training dipendono dalla selezione dei dati di training, dall'algoritmo scelto e da come è stato configurato. In SQL Server 2008 sono disponibili molti algoritmi diversi, ognuno dei quali è indicato per un determinato tipo di attività e crea un tipo diverso di modello. Per un elenco degli algoritmi disponibili in SQL Server 2008, vedere Algoritmi di data mining (Analysis Services - Data mining).
Per regolare ciascun algoritmo, è anche possibile utilizzare parametri e applicare filtri ai dati di training per utilizzare 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 utilizzati per la stima.
In BI Development Studio è possibile definire un nuovo modello tramite la Creazione guidata modello di data mining oppure utilizzando il linguaggio DMX (Data Mining Extensions). Per ulteriori informazioni sull'utilizzo della Creazione guidata modello di data mining, vedere Creazione guidata modello di data mining (Analysis Services - Data mining). Per ulteriori informazioni sull'utilizzo del linguaggio DMX, vedere Guida di riferimento a DMX (Data Mining Extensions).
È 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, includendo qualsiasi nuovo dato se l'origine è 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 ulteriori informazioni, vedere Elaborazione di oggetti di 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 creati e nella verifica della relativa efficienza.
Prima di distribuire un modello in un ambiente di produzione, è opportuno verificarne le prestazioni. Inoltre, quando si crea 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.
In Analysis Services sono disponibili strumenti che consentono di separare i dati in set di dati di training e di testing in modo da poter valutare accuratamente le prestazioni di tutti i modelli sugli stessi dati. Il set di dati di training viene utilizzato per creare il modello, mentre il set di dati di testing viene utilizzato per verificare l'accuratezza del modello creando query di stima. In SQL Server 2008 Analysis Services, questo partizionamento può essere eseguito automaticamente durante la creazione del modello di data mining. Per ulteriori informazioni, vedere Convalida di modelli di data mining (Analysis Services - Data mining).
È possibile esplorare le tendenze e gli schemi rilevati dagli algoritmi tramite i visualizzatori di Progettazione modelli di data mining disponibili in BI Development Studio. Per ulteriori informazioni, vedere Visualizzazione di un 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 utilizzato per creare inferenze sul popolamento generale, è possibile utilizzare la tecnica statistica chiamata convalida incrociata per creare automaticamente subset dei dati ed eseguire il test del modello rispetto a ogni subset. Per ulteriori informazioni, vedere Convalida di modelli di data mining (Analysis Services - Data mining).
Se nessuno dei modelli creati durante il passaggio Creazione dei modelli risulta efficace, potrebbe essere necessario tornare al passaggio precedente del processo e ridefinire il problema o esaminare nuovamente i dati del set 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.
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:
Utilizzare i modelli per creare stime, in base alle quali prendere in seguito decisioni aziendali. In SQL Server vengono forniti il linguaggio DMX che consente di creare query di stima e il generatore delle query di stima che facilita la creazione di tali query. Per ulteriori informazioni, vedere Guida di riferimento a DMX (Data Mining Extensions).
Creare query sul contenuto per recuperare statistiche, regole o formule dal modello. Per ulteriori informazioni, vedere Esecuzione di query sui modelli di data mining (Analysis Services - 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 XMLA (XML for Analysis) direttamente a un'istanza di Analysis Services. Per ulteriori informazioni, vedere Sviluppo (Analysis Services - Data mining).
Utilizzare Integration Services per creare un pacchetto in cui viene utilizzato un modello di data mining per separare in modo intelligente i dati in entrata dividendoli tra più tabelle. Se ad esempio un database viene aggiornato continuamente con i potenziali clienti, è possibile utilizzare un modello di data mining insieme a Integration Services per dividere i dati in entrata separando i clienti che probabilmente acquisteranno un prodotto dai clienti che probabilmente non lo acquisteranno. Per ulteriori informazioni, vedere Utilizzi tipici di Integration Services.
Creare un report che consenta agli utenti di eseguire direttamente le query su un modello di data mining esistente. Per ulteriori informazioni, vedere Reporting Services in Business Intelligence Development Studio.
Aggiornare i modelli dopo la revisione e l'analisi. Qualsiasi aggiornamento richiede la rielaborazione dei modelli. Per ulteriori informazioni, vedere Elaborazione di strutture e modelli (Analysis Services - Data mining).
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 ulteriori informazioni, vedere Gestione di strutture e modelli di data mining.