Supanat Jintawatsakoon
3 min readJul 6, 2018

ลองเล่น Azure Machine Learning Studio

Azure ML Studio เป็นเครื่องมือไว้ทำ Machine Learning มีเครื่องมือ GUI-Based ให้ใช้งาน นั่นหมายความว่าเราก็แค่ drag and drop เอา Module ที่ต้องการมาประกอบกันเพื่อทำ Machine Learning และมันก็เป็น Web Based เราสามารถใช้งานบน Web Browser ได้เลย

บทความนี้จะเป็นการรีวิวเพื่อดูความสามารถของ Azure ML Studio ว่ามันจะทำอะไรได้แค่ไหนบ้างแบบคร่าวๆโดยแบ่งออกเป็น 6 หัวข้อ

  1. Experiments & Workflow
  2. Module
  3. Algorithms
  4. Jupyter Notebook
  5. Datasets
  6. Web Services
Microsoft Azure Machine Learning Studio

Experiments

ในAzure ML Studio จะมีหน้า Experiments เอาไว้ทำการทดลอง โดยการใช้งานจะเป็น GUI-Based ก็คือหยิบเอา Module ต่างๆมาต่อเข้าด้วยกัน โดยจะสร้าง Experiments ขึ้นมาใหม่เลย หรือ ศึกษาจากตัวอย่างที่ Azure ML Studio ได้เตรียมไว้ให้หลายตัวอย่างเลย เช่น Fraud Detection , Sentiment Analysis , Churn , Demand Estimation , Retail Forecasting , Text Classification ฯลฯ

ตัวอย่าง Experiments ที่ ML Studio มีให้

ผมได้ทดลองทำ Automobile Price Prediction (ทำนายราคารถยนตร์) โดยใช้แค่การ Drag and Drop โมดูลต่างๆ มาต่อกัน ตั้งแต่การ Import Dataset , Clean Data , ทำ Train-Test Split , Train Model , และวัดประสิทธิภาพ ซึ่งทั้งหมดนี้ไม่ต้องเขียนโค้ดใดๆเลย

Automobile Price Prediction

ในแต่ละขั้นตอนก็สามารถ Visualize เพื่อดูว่า Data เราเป็นอย่างไรในรูปแบบตาราง หรือจะเป็น boxplot , histogram ก็ทำได้ง่ายๆ

Visualize
Performance

Modules

อย่างที่ได้กล่าวไปแล้วข้างต้น Azure ML Studio ใช้การ Drag and Drop Module ที่ต้องการมาต่อประกอบกัน โดย Module ต่างๆ จะแบ่งออกเป็น Category ดังต่อไปนี้

Modules Category

ซึ่งเท่าที่ลองดู ณ ตอนนี้ ก็มี Module ให้เลือกนำมาใช้ครบเลย แต่ถ้าหากต้องการจะเขียนโค้ดเอง นอกเหนือจาก Module ที่เตรียมไว้ให้ก็ทำได้เช่นกันซึ่งจะรองรับทั้ง Python และ R ผ่าน Module Execute Python Script,Execute R Script

Execute Python Script
Scatter Matrix จากการ Execute Python Script

Scatter Matrix ที่เห็นอยู่นี้ก็มาจากการเขียน Python Script เพิ่มเติมผ่าน Module Execute Script ซึ่งรองรับทั้ง R ,Python 2 , Python 3

Algorithms Module

Azure ML Studio ได้เตรียม Algorithms Module เอาไว้เพื่อให้เราใช้กับปัญหาแบบต่างๆ โดยแบ่งออกเป็นกลุ่มได้แก่

  1. Regression มี Ordinal Regrssion,Poisson Regression,Fast Quantile Regression,Linear Regression,Baysian Linear Regression,Neuron Network Regression,Decision Forest Regression ,Boosted Decision Tree Regression

2. Anomaly Detection มี One Class SVM , PCA-Based Anomaly Detection

3. Clustering มี K-Means

4. Binary Classification มี Two-class SVM , Two-class averaged perception,Two-class Bayes point machine,Two-class decision forest,,Two-class logostic regression,Two-class boosted decision tree,Two-class decision jungle,Two-class locally deep SVM,,Two-class Neural Netework

5. Multiclass Classification มี Multiclass logistic regression,Multiclass Neuron Network,Multiclass decision forest,Multiclass decision jugle,One-v-all multiclass

Notebook

นอกจากการสร้าง Experiment แบบ GUI-Based แล้ว สำหรับใครที่ต้องการจะใช้ Jupyter Notebook ก็สามารถใช้ได้ และ Azure ML Studio ก็รองรับทั้ง R ,Python 2 , Python 3

Datasets

เราสามารถใช้ Dataset ของเราเอง ไม่ว่าจะเป็นการอัปไฟล์ CSV , Excel ขึ้นไป หรือจะเชื่อมต่อฐานข้อมูล SQL Database ,Hive Table ฯลฯ ก็สามารถทำได้ นอกจากนั้น Azure ML Studio ได้เตรียมหลาย Datasets เอาไว้ให้เราทดลองเล่น เช่น Bike Rental UCI dataset , Adult Census Income Binary Classification dataset ,Breast cancer , Flight Delays Data ฯลฯ การใช้งานก็แค่ Drag เอา Module Dataset เหล่านี้มาใช้ได้เลย

Web Service

หัวข้อนี้เป็นเรื่องที่ผมคิดว่าเจ๋งดีนะ เพราะหลังจากเรา train ได้ Model มาแล้ว Azure ML Studio ก็ได้เตรียมเครื่องมือสำหรับการ Deploy เพื่อนำไปใช้ในรูปแบบ Web Service ได้อีกด้วย ถ้าใครคุ้นเคยกับ REST , JSON ก็จะใช้งานได้ไม่ยาก แต่ทาง Azure ML Studio ก็มี Document แนะนำการใช้งานไว้ค่อนข้างดี

การใช้งานก็แค่ส่ง Request ไปพร้อม Parameter ที่เราใช้เป็น Feature ก็จะได้ Response กลับมา

ตัวอย่าง Request Body
Result

จากภาพเป็นผลที่จากการทำ income prediction ว่าเป็นผู้มีรายได้ >50k , ≤50K

สรุป

Azure ML Studio เป็นเครื่องมืออีกตัวนึงที่น่าสนใจเลย โดยส่วนตัวชอบ Web Services และ Sample Experiment ที่ติดมาให้ ซึ่งเหมาะมากกับใครที่กำลังเริ่มต้นศึกษา และที่สำคัญคือมันฟรี (แน่นอนว่ามีแบบเสียเงินด้วย) ใครสนใจก็ไปลองเล่นกันได้เลย https://studio.azureml.net

ขอจบการรีวิวแบบคร่าวๆ เท่านี้ก่อนนะครับ หากมีอะไรเพิ่มเติมจะมาแชร์ให้อ่านครับหากมีส่วนใดผิดพลาด ไม่ถูกต้อง ก็ขออภัยและขอคำชี้แนะด้วยนะครับ

Happy Coding

Supanat Jintawatsakoon

Lecturer in College of Digital Innovation Technology at Rangsit University