Using R in the Azure ML platform

Slides:



Advertisements
Presentazioni simili
3/27/2017 2:27 AM ©2005 Microsoft Corporation. All rights reserved.
Advertisements

I Sistemi di Supporto alle Decisioni Chiara Mocenni
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Presenta – #wpc15it1 BI005 - Real Power BI Franco Perduca Factory Software srl
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
#sqlsatTorino #sqlsat400 May 23, 2015 AzureML - Creating and Using Machine Learning Solutions Davide
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
OSMit 2010 Genova, giugno 2010 a cura di a cura di ROBERTO Vito Gerardo ROBERTO Vito Gerardo
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Lite. FlowLine Flowline Lite e' il sistema integrato per la gestione di database di CV aziendali tramite web. Fornito in modalita' ASP (application service.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
La Business Intelligence per comprendere e governare la complessità Bari, 26 novembre 2008 a cura di: Vito Manzari Antonio Lisi.
VO-Neural Project e GRID Giovanni d’Angelo Dipartimento di Scienze Fisiche Università degli Studi di Napoli Federico II Martina Franca 12 – 23 Novembre.
Facile da usare Un'interfaccia amministrativa completamente rinnovata, iniziare con Drupal è più facile!
Visual Analytics Dashboard
La Spending Review nella PA: Vertica e Pentaho per il controllo della spesa farmaceutica convenzionata Fabio Raimondi Project Manager Tecnologie Digitali.
Esperienze di Advanced Analytics nella statistica ufficiale: strumenti e progetti Antonino Virgillito Direzione Centrale per le tecnologie informatiche.
Stima della qualità dei classificatori per l’ analisi dei dati biomolecolari Giorgio Valentini
Lato Server - OMNIS Web Web Services.
WPC033 - Dai un volto umano alle tue app con Cognitive Services
analytics and data discovery
Piattaforma per industrie stampaggio
Office WPC049 Strumenti di supporto e analisi per Office 365
Valutazione dell’incertezza associata alla mappa acustica dinamica di Milano Giovanni Zambon; Roberto Benocci; Maura Smiraglia; H. Eduardo Roman.
Sistemi e Applicazioni per l’Amministrazione Digitale
Corso di Laurea in Ingegneria Informatica
Salvatore Upload data on Azure SQL Database using Azure Messaging, Stream Analytics & Logic Apps Salvatore
PROGETTO DI RETI DI CALCOLATORI L-S
Misure Meccaniche e Termiche - Università di Cassino
WPC034 - Visual Studio Code: sviluppare su Linux, Mac OS e Windows
SQL Server deployment journey da dev a ops
Microsoft Technology Seminario Base di Dati
Analysis framework of distributed thread and malware data-sources
VOS 1.2 Uno script per automatizzare la generazione dei report dai questionari di valutazione delle opinioni degli studenti. Prof. E. Parente – DIS – Università.
Paradigma MVC Ing. Buttolo Marco.
Studente/i Relatore Correlatore Committente Aris Piatti
Dip. Economia Politica e Statistica
Job Application Monitoring (JAM)
Scrivere e far di conto da A a Z... e da 0 a 9!
Decision support per le politiche di IT Governance aziendale
Anno Accademico 2010 – 2011 Corso di Progettazione dei Sistemi di Controllo Prof. Luca Schenato Prof. Gianluigi Pillonetto Gottardo Giuseppe, matr
Sviluppo di un'applicazione web per l'utilizzo del framework SparkER
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Antonio Mosca Public Sector Practice Manager
Che cos’e’ l’Informatica
Corso di Ingegneria del Web A A Domenico Rosaci 1
Corso propedeutico base di informatica
Windows Admin Center La rivoluzione della gestione di Windows Server
Introduzione alle basi di dati
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Smart City.
Programmare.
Introduzione alla materia sistemi
nel processo decisionale
MADEsmart: un sistema in ambiente web per l’accesso a dati e indicatori sanitari Situazione e prospettive Torino, martedì 6 giugno 2017 Marco Dalmasso,
Programma DB-A Franco Turini.
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Sistemi informativi statistici
© 2007 SEI-Società Editrice Internazionale, Apogeo
Classe V A A.s – 2012 Programma di Informatica
Fogli elettronici e videoscrittura
Dip. Economia Politica e Statistica
Fogli di Calcolo Elettronici
Università degli studi di Modena e Reggio Emilia
Toward Smart Cites from data: Transportation and Smart Mobility
A semantic recommender system based on social user profiling
Master in Economia e Gestione del Turismo 24ª EDIZIONE
Progetto di Start up Ingegneria Informatica e dell’ Automazione
Dip. Economia Politica e Statistica
Caterina Viviano Istat – Responsabile del
Transcript della presentazione:

Using R in the Azure ML platform Alessandro Rezzani @alerezzani www.dataskills.it

Sponsors

Organizers getlatestversion.it

Alessandro Rezzani | @alerezzani Activities Data Mining and predictive analysis Data warehouse ETL Processes Data Lake OLAP cubes Tabular Models PowerBI Models Books Business Intelligence. Processi, metodi, utilizzo in azienda Big Data. Architettura, tecnologie e metodi per l’utilizzo di grandi basi di dati Teaching Università Bocconi, Milan Informatica (2009-2011) BI , R, Big Data SDA Bocconi Big Data Courses BI, Data Mining & Big Data Conf & Events SQLPASS / SQL Saturday WPC SQL&BI Conference

Agenda Machine Learning Azure ML Intro R intro R Integration Demo

Machine learning

Machine learning & Data mining Machine Learning: algoritmi che consentono ai computer di imparare senza essere esplicitamente programmati per un specifico compito. Data Mining: estrazione della conoscenza da dati che in apparenza non contengono alcuna struttura. Il data mining utilizza algoritmi di machine learning.

Tipologie di problemi di ML Classificazione: un dato evento/oggetto è A o B? Churn analysis : Quali clienti ci abbandoneranno per la concorrenza? Campagne di marketing mirate : Quali sono i clienti che risponderanno positivamente ad una campagna? Fraud detection: Quali transazioni rappresentano comportamenti fraudolenti? Regressione: previsione di un numero anziché di una classe Clustering: Come sono organizzati i dati Suddivisione della clientela in base ai comportamenti d'acquisto Separazione di documenti in gruppi omogenei

Tipologie di algoritmi Supervised: Agli algoritmi sono forniti sia gli input, sia gli output. L'algoritmo estrae i pattern di input che "spiegano" gli output. Unsupervised: Agli algoritmi sono forniti gli input che il sistema riclassificherà ed organizzerà sulla base di caratteristiche comuni. Non è fornito alcun output noto a priori.

Tipologie di algoritmi Black box machines: Gli algoritmi di questa categoria forniscono una prediction ma non presentano le modalità con cui sono arrivati ad ottenerla Neural Nets Deep learning SVM Random Forest Rule based algorithms: Gli algoritmi forniscono, oltre alla prediction, anche un insieme di regole che rappresentano il processo decisionale Decision Trees Fuzzy Set Systems Logic Learning Machine

Il processo di di machine elarning Business Knowledge Data Understanding Data Data Preparation Modelling Evaluation DA: CRISP-DM Model Publish

Le fasi Preparazione dei dati Scelta dell'algoritmo Valutazione Trasformazioni: Gestione dei dati NULL Normalizzazioni / Rescaling Riduzione della dimensionalità Es: PCA Creazione di variabili Dummy variables Aggregati (somme, medie) Creazione del training set e del test set Scelta dell'algoritmo In base al problema In base all'output desiderato Prediction Prediction & rules Scelta dei parametri Attenzione all'overtraining! Valutazione Confronto tra prediction e valori reali (del training set) Confusion matrix Accuracy =(TP + TN) / (P + N) Precision = TP/(TP+FP) Sensitivity/ Recall = TP/(TP+FN) Specificity = TN/(TN+FP)

Azure ML - INTRO

Tipologie di algoritmi Cloud Based AzureML Studio Ambiente visuale Strumenti per Preparazione dati Training di algoritmi Scoring Analisi statistiche Web Services

Architettura Data Clients API Model is now a web service that is callable ML STUDIO Blobs and Tables Hadoop (HDInsight) Relational DB (Azure SQL DB) Integrated development environment for Machine Learning Monetize the API through the marketplace

R- INTRO

R Applicativo free, open source È multipiattaforma (Windows, Linux, Mac,…) Strumento di analisi statistica Ma ha anche le seguenti caratteristiche: Strumento per l’elaborazione e manipolazione dei dati Può leggere e scrivere dati da/verso supporti diversi (DB relazionali, file di testo, Excel,…, immagini, suoni!!) Strumento per la presentazione dei dati in forma grafica Importante community di utenti, accademici, programmatori Disponibilità di numerosissimi add-on gratuiti

R INTRO Nasce dall’idea di due professori universitari. Robert Gentleman e Ross Ihaka. Il linguaggio è simile a quello del software S Lo sviluppo inizia negli anni 90. La prima versione pubblica è stata rilasciata nel 2000 È scaricabile qui: http://www.r-project.org/

Revolution R -> Microsoft R Acquisizione di Revolution Analytics da parte di MS Integrazione di R in: Azure ML SQL Server 2016 Azure HDInsight (Spark/R Cluster) Caratteristiche di Microsoft R Multithread Alta scalabilità Integrazione con Hadoop e Spark

Integrazione Azure ML- R

Integrazione con R In Azure ML è possibile: Creare modelli R Eseguire script R

Integrazione con R Modulo "Create R Model": Modulo "Execute R Script" Possiamo utilizzare soltanto i package preinstallati Utilizziamo le funzionalità di train e score di Azure ML Alcuni task non possono essere utilizzati (es: Evaluate Model) Modulo "Execute R Script" Accetta 2 dataset di input e uno zip file con eventuali package da installare È possibile quindi utilizzare package esterni Forniscono come output: Un dataset L'output dei device R (testo o grafico)

Package AzureML per R Creazione di modelli in R Pubblicazione di web services in Azure ML

Package AzureML Risultato del test

DEMOS Azure ML Preparazione dei dati: R e MICE Modellazione con R Utilizzo di Create R Model Pure R Utilizzo di Fuzzy rules based systems AzureML package In questa semplice dimostrazione andremo ad utilizzare questo editor: http://codebeautify.org/xmltojson che consente di mettere a confronto velocemente i due formati.

DEMO: MICE Missing data: MCAR: missing completely at random. (scenario più semplice) MNAR: missing not at random. (scenario complesso: occorre capire come mai i dati mancano) MICE: Multivariate Imputation by Chained Equations Utilizza modelli di ML per l'imputazione dei dati mancanti (es: logistic regression)

DEMO: MICE Metodi utilizzabili: pmm Predictive mean matching (any) Norm Bayesian linear regression (numeric) norm.nob Linear regression ignoring model error (numeric) norm.boot Linear regression using bootstrap (numeric) norm.predict Linear regression, predicted values (numeric) mean Unconditional mean imputation (numeric) 2l.norm Two-level normal imputation (numeric) 2l.pan Two-level normal imputation using pan (numeric) 2lonly.mean Imputation at level-2 of the class mean (numeric) 2lonly.norm Imputation at level-2 by Bayesian linear regression (numeric) 2lonly.pmm Imputation at level-2 by Predictive mean matching (any) quadratic Imputation of quadratic terms (numeric) logreg Logistic regression (factor, 2 levels) logreg.boot Logistic regression with bootstrap polyreg Polytomous logistic regression (factor, >= 2 levels) polr Proportional odds model (ordered, >=2 levels) lda Linear discriminant analysis (factor, >= 2 categories) cart Classification and regression trees (any) rf Random forest imputations (any) ri Random indicator method for nonignorable data (numeric) sample Random sample from the observed values (any)

DEMO: VIM Visualization and Imputation of Missing Values Visualizzazioni avanzate:

DEMO: Fuzzy Rules Based System Nella logica tradizionale un elemento appartiene o non appartiene ad un determinato insieme Nella logica fuzzy, un dato elemento appartiene ad un insieme fuzzy con un grado di verità che può assumere infiniti valori nell'intervallo [0,1]. Il grado di verità (o di appartenenza ad un insieme fuzzy) è definito da una funzione di appartenenza (membership). Funzioni di appartenenza Per esempio la temperatura: può essere descritta da una variabile fuzzy che possiede i valori “linguistici” freddo e caldo. ciascun elemento avrà un grado di appartenenza a ciascun valore linguistico (o insieme fuzzy) per esempio 0.90 caldo e 0.10 freddo.

DEMO: Fuzzy Rules Based System Un generico sistema fuzzy funziona tramite la realizzazione di tre fasi: La fuzzificazione: in questa fase le grandezze sono trasformate in base alle funzioni di appartenenza L’applicazione di regole (che, nel caso di sistemi di machine learning, saranno determinate nella fase di training). L’applicazione delle regole determina il valore dell’uscita a fronte della combinazione degli input. Le regole sono costituite da un insieme di proposizione IF….THEN. La defuzzificazione: il valore di uscita che deriva dall’applicazione delle regole fuzzy va convertito in un valore deterministico. Un metodo è quello basato sulla media dei massimi: il valore di uscita è ottenuto come media aritmetica dei valori per i quali è massima l’altezza del fuzzy set determinato dalle regole.

Conclusions Azure ML è una piattaforma semplice e scalabile per il machine elarning L'integrazione con R la rende estremamente flessibile

Resources Algorithms cheat sheet Tutorials Articoli https://azure.microsoft.com/it-it/documentation/articles/machine-learning-algorithm-cheat-sheet/ Tutorials https://gallery.cortanaanalytics.com/experiments Articoli http://www.dataskills.it/white-paper/ http://www.dataskills.it/dalla-predictive-analytics-alla-prescriptive-analytics/

Q&A Questions?

#sqlsatParma #sqlsat566 Thanks!