I tool di data mining in SSAS (modalità multidimensionale) sono a disposizione fin da SQL Server 2000 e la gamma di algoritmi di data mining che fanno parte del pacchetto è generalmente considerata sufficiente per rispondere alla maggior parte dei requisiti. Una volta che una sorgente dati è stata definita in SSAS, creare, provare e testare un modello è relativamente semplice, dal momento che i tool di data mining disponibili nell’ambiente di sviluppo sono cuciti su misura per ciascun algoritmo. Questo rende il data mining molto più accessibile a chi fra di noi non è un esperto di statistica, ma rimane ancora una piattaforma unica per creare sorgenti dati e modelli di data mining, che sono skill molto diverse.
Il mio problema con SSAS è che la sorgente dati per un modello di mining è un cubo o una sorgente di datI in Analysis Services, che di fatto sono limitati ai database relazionali, perché quelli sono le uniche sorgenti dati sfruttabili per database multidimensionali. È possibile creare un modello di mining in un progetto SSAS senza creare un cubo OLAP, ma questo ribadisce ulteriormente il fatto che Data Mining avrebbe potuto essere implementato come un prodotto separato.
Al contrario, Azure ML si limita a fornire l’ambiente di sviluppo per creare, provare e testare “modelli di analisi predittiva” (la terminologia dà atto che queste soluzioni possono avere una portata maggiore rispetto ai modelli di data mining). Azure ML mette a disposizione una gamma limitata di tool per caricare dataset a fini di training e collaudo, che possono essere: un file locale caricato e conservato come un dataset, immissione interattiva di dati o una sorgente dati esterna importata utilizzando un modulo di lettura dati (si pensi a moduli come task all’interno di un workflow). Ci sono anche alcuni moduli per formattare e trasformare i dati in ingresso prima che vengano processati, che possono essere inclusi come parte della definizione del dataset o possono fare parte dell’esperimento pubblicato.
Le sorgenti dati supportate dal modulo Data Reader sono tutte basate sul cloud e si tratta di connessioni dirette ai servizi dati di Azure oppure di URI (inclusi endpoint OData). Si tenga a mente che si tratta di inserimento di dati esclusivamente a fini di training e di test. Una volta che un esperimento ML (cioè la combinazione di moduli che definiscono il modello di analisi predittiva) è stato messo alla prova e valutato può automaticamente essere pubblicato come un web service. A quel punto qualunque applicazione client può fornire tutte le sorgenti dati alle quali può connettersi, purché sia compatibile con lo schema di dataset definito. Per collaudare il vostro web service pubblicato, c’è un codice di esempio e un manuale scaricabile di Excel per singole richieste in uscita.
Il fatto che esperimenti con modelli collaudati possano essere pubblicati come web service rimanda a un altro problema che ho rilevato con i modelli di data mining SSAS, cioè il numero limitato di applicazioni client di supporto. La maggior parte delle opzioni sta usando le componenti aggiuntive data mining di Excel in Excel, sviluppando applicazioni personalizzate che eseguono query DMX (Data Mining Extensions) o prodotti di terzi. La decisione di pubblicare esperimenti di Azure ML come web service di Azure è significativa, perché sono state messe le basi per fornire un supporto client più ampio rispetto a quello che era possibile con SSAS.
Azure Data Factory supporta già i web service Azure ML come servizio connesso per il batch scoring, utilizzando il blob storage per archiviare dati in ingresso e risultati di resa. Le componenti aggiuntive Excel stanno anche cominciando a comparire su CodePlex ed è possibile usare Power Query per connettersi ai web service pubblicati Azure ML disponibili su Azure Marketplace. Mi aspetto ulteriori integrazioni e un ulteriore supporto di client da parte di Microsoft, in particolare per quanto riguarda Power BI.
Il mio interesse iniziale per Azure ML era rivolto a capire se rappresentasse un’alternativa percorribile al data mining SSAS e se fornisse un supporto migliore per le diverse sorgenti di dati con le quali sto attualmente lavorando. La decisione di implementare l’apprendimento automatico come un web service che lo sottrae alla scelta delle sorgenti da parte del client va incontro ai miei dubbi. Se vi trovate nella fase di transizione da SSAS, vi accorgerete che la user experience con Azure ML Studio è di gran lunga migliore e prevedo che i web service Azure e le componenti aggiuntive Excel o i report di Power BI forniranno l’equivalente degli algoritmi alla base del modello di data mining e delle visualizzazione in SSAS.
Microsoft ha appena annunciato la disponibilià generale di Azure ML. Se non l’avete ancora provato, vi consiglio caldamente di mettervi in lista come collaudatori a titolo gratuido, in modo da sperimentarlo di persona.