Azure ML: from basic to integration with custom applications

Preview:

Citation preview

Azure Machine Learningfrom basic to integration with custom application

Davide Mauri

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

About MeMicrosoft SQL Server MVPWorks with SQL Server from 6.5, on BI from 2003Specialized in Data Solution Architecture, Database Design, Performance Tuning, High-Performance Data Warehousing, BI, Big DataPresident of UGISS (Italian SQL Server UG)Regular Speaker @ SQL Server eventsConsulting & Training, Mentor @ SolidQE-mail: dmauri@solidq.comTwitter: @mauridb Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Agenda• Machine Learning, what’s that?

• Supervised & Unsupervised methods• Tools & Languages

• Experimenting On-Premises• IPython & R• SQL Server 2016 and R

• Azure Machine Learning• AzureML Studio• Jupyter Notebooks

• Integrating AzureML into custom applications

Machine LearningWhat’s that?

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Machine Learning• Algorithms that learn from data

• Nothing really new from a scientific point of view• "Field of study that gives computers the ability to learn without being

explicitly programmed“ - 1959, Arthur Samuel

• Requires *a lot* of compute power (even for not-so-big-data)• Azure, here we come!

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Machine Learning• Very useful for

• Identify unknown and complex pattern • Identify hidden correlations• Automatically classify data• Predict future trend and/or values basing on past knowledge

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Machine Learning• Thanks to the cloud it’s now possible to integrate ML Algorithms into

Line-Of-Business applications• Choose the algorithm• Train it• Expose as a RESTful Web Service• Call it from you App• You’re Happy

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Machine Learning• Two main categories (but sometimes are even divided in up to five

categories!)• Supervised• Unsupervised

• Supervised: humans (usually) teach to algorithms what is the expected result

• Unsupervised: algorithms tries to autonomously identify patterns and rules in given dataset

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Languages• Most common languages used for machine learning

• R• Python

• Less common but on the rise• Julia• Scala• Go• Rust

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Tools - Python• Python Packages

• Scikit-Learn• SciPy, NumPy, Pandas, Matplotlib, Seaborn

• Jupyter (was: IPython)• Anaconda

• Microsoft Data Science Virtual Machine• Pytools for Visual Studio

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Tools - R• R• Microsoft Open R Portal

• Microsoft R Open (MRO)

• RStudio• R Tools for Visual Studio• Microsoft Data Science Virtual Machine• Anaconda

• https://www.continuum.io/conda-for-r

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Datasets• To learn ML, sample and well-known datasets are needed

• Here some places where nice Datasets can be found• http://archive.ics.uci.edu/ml/datasets.html • http://www.kdnuggets.com/datasets/index.html • http://homepages.inf.ed.ac.uk/rbf/IAPR/researchers/MLPAGES/mldat.htm • https://en.wikipedia.org/wiki/Data_set#Classic_datasets • https://mran.revolutionanalytics.com/documents/data/

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

IRIS Dataset• 150 instances of Iris Flowers

• 3 classes: Virginica, Versicolor, Setosa• 4 features: Sepal Width & Length, Petal Width & Length

• One of the most used for educational purposes• Simple, but….• Un class is linearly separable • Other two classes are NOT linearly separable

• Available at UC Irvine Machine Learning Repository• http://archive.ics.uci.edu/ml/datasets/Iris

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

IRIS Datasethttp://www.anselm.edu/homepage/jpitocch/genbi101/diversity3Plants.html

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

DEMOExperiments On-Premises

SQL Server 2016 and R

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Native support for R in SQL Server 2016!

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

DEMOExperiments with R and SQL Server 2016

Azure ML StudioOn the Cloud!

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

AzureML Studio• www.azureml.com

• Azure ML Studio• Web application (“Workspace”) for developing ML solutions• Part of the “Cortana Analytics Intelligence Suite”

• Development Process• Experiment -> Score -> Evaluate• Publish

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

AzureML Studio• “Democratize Machine Learning”

• Free Tier Available• 10 GB Storage Space• 1h max experiment duration• Staging Web API

• Standard Tier• Costs per “Seat”, Studio and API Usage• https://azure.microsoft.com/en-us/pricing/details/machine-learning/

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

AzureML Studio• Fully Interactive Environment

• Fully Integrated with Azure Ecosystem, but not only that • Very easy to use external data sources

• Support Jupyter/IPython Notebooks!• Even more Interative!

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

DEMOExperiments On-Premises

AzureML Web Services• Once the experiment has been created, tested and validated

• NOTE! AzureML Web Services *does not* support CORS right now• So it’s ok to call from a server-side script• If you want to call it directly from Javascript you need to go through Azure

Management API• And configure the Policy to allow CORS

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

AzureML Web Services• Can be created also on-premises with R and Python

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

DEMOExperiments With Web Services

What’s more• In addition to the “usual” Machine Learning objects Azure offers

specialized API and the “Cognitive Services”• https://www.microsoft.com/cognitive-services • https://gallery.cortanaintelligence.com/machineLearningAPIs

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Thanks!Questions?

Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Demos available on GitHubhttps://github.com/yorek/devweek2016

Recommended