azure ml: from basic to integration with custom applications

28
Azure Machine Learning from basic to integration with custom application Davide Mauri Join the conversation on Twitter: @DevWeek // #DW2016 // #DevWeek

Upload: davide-mauri

Post on 16-Apr-2017

516 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: Azure ML: from basic to integration with custom applications

Azure Machine Learningfrom basic to integration with custom application

Davide Mauri

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

Page 2: Azure ML: from basic to integration with custom applications

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: [email protected]: @mauridb Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx

Page 3: Azure ML: from basic to integration with custom applications

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

Page 4: Azure ML: from basic to integration with custom applications

Machine LearningWhat’s that?

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

Page 5: Azure ML: from basic to integration with custom applications

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

Page 6: Azure ML: from basic to integration with custom applications

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

Page 7: Azure ML: from basic to integration with custom applications

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

Page 8: Azure ML: from basic to integration with custom applications

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

Page 9: Azure ML: from basic to integration with custom applications

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

Page 10: Azure ML: from basic to integration with custom applications

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

Page 11: Azure ML: from basic to integration with custom applications

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

Page 12: Azure ML: from basic to integration with custom applications

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

Page 13: Azure ML: from basic to integration with custom applications

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

Page 14: Azure ML: from basic to integration with custom applications

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

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

Page 15: Azure ML: from basic to integration with custom applications

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

DEMOExperiments On-Premises

Page 16: Azure ML: from basic to integration with custom applications

SQL Server 2016 and R

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

Native support for R in SQL Server 2016!

Page 17: Azure ML: from basic to integration with custom applications

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

DEMOExperiments with R and SQL Server 2016

Page 18: Azure ML: from basic to integration with custom applications

Azure ML StudioOn the Cloud!

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

Page 19: Azure ML: from basic to integration with custom applications

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

Page 20: Azure ML: from basic to integration with custom applications

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

Page 21: Azure ML: from basic to integration with custom applications

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

Page 22: Azure ML: from basic to integration with custom applications

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

DEMOExperiments On-Premises

Page 23: Azure ML: from basic to integration with custom applications

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

Page 24: Azure ML: from basic to integration with custom applications

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

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

Page 25: Azure ML: from basic to integration with custom applications

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

DEMOExperiments With Web Services

Page 26: Azure ML: from basic to integration with custom applications

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

Page 27: Azure ML: from basic to integration with custom applications

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

Thanks!Questions?

Page 28: Azure ML: from basic to integration with custom applications

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

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