ลองเล่น 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 หัวข้อ
- Experiments & Workflow
- Module
- Algorithms
- Jupyter Notebook
- Datasets
- Web Services
Experiments
ในAzure ML Studio จะมีหน้า Experiments เอาไว้ทำการทดลอง โดยการใช้งานจะเป็น GUI-Based ก็คือหยิบเอา Module ต่างๆมาต่อเข้าด้วยกัน โดยจะสร้าง Experiments ขึ้นมาใหม่เลย หรือ ศึกษาจากตัวอย่างที่ Azure ML Studio ได้เตรียมไว้ให้หลายตัวอย่างเลย เช่น Fraud Detection , Sentiment Analysis , Churn , Demand Estimation , Retail Forecasting , Text Classification ฯลฯ
ผมได้ทดลองทำ Automobile Price Prediction (ทำนายราคารถยนตร์) โดยใช้แค่การ Drag and Drop โมดูลต่างๆ มาต่อกัน ตั้งแต่การ Import Dataset , Clean Data , ทำ Train-Test Split , Train Model , และวัดประสิทธิภาพ ซึ่งทั้งหมดนี้ไม่ต้องเขียนโค้ดใดๆเลย
ในแต่ละขั้นตอนก็สามารถ Visualize เพื่อดูว่า Data เราเป็นอย่างไรในรูปแบบตาราง หรือจะเป็น boxplot , histogram ก็ทำได้ง่ายๆ
Modules
อย่างที่ได้กล่าวไปแล้วข้างต้น Azure ML Studio ใช้การ Drag and Drop Module ที่ต้องการมาต่อประกอบกัน โดย Module ต่างๆ จะแบ่งออกเป็น Category ดังต่อไปนี้
ซึ่งเท่าที่ลองดู ณ ตอนนี้ ก็มี Module ให้เลือกนำมาใช้ครบเลย แต่ถ้าหากต้องการจะเขียนโค้ดเอง นอกเหนือจาก Module ที่เตรียมไว้ให้ก็ทำได้เช่นกันซึ่งจะรองรับทั้ง Python และ R ผ่าน Module Execute Python Script,Execute R Script
Scatter Matrix ที่เห็นอยู่นี้ก็มาจากการเขียน Python Script เพิ่มเติมผ่าน Module Execute Script ซึ่งรองรับทั้ง R ,Python 2 , Python 3
Algorithms Module
Azure ML Studio ได้เตรียม Algorithms Module เอาไว้เพื่อให้เราใช้กับปัญหาแบบต่างๆ โดยแบ่งออกเป็นกลุ่มได้แก่
- 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 กลับมา
จากภาพเป็นผลที่จากการทำ income prediction ว่าเป็นผู้มีรายได้ >50k , ≤50K
สรุป
Azure ML Studio เป็นเครื่องมืออีกตัวนึงที่น่าสนใจเลย โดยส่วนตัวชอบ Web Services และ Sample Experiment ที่ติดมาให้ ซึ่งเหมาะมากกับใครที่กำลังเริ่มต้นศึกษา และที่สำคัญคือมันฟรี (แน่นอนว่ามีแบบเสียเงินด้วย) ใครสนใจก็ไปลองเล่นกันได้เลย https://studio.azureml.net
ขอจบการรีวิวแบบคร่าวๆ เท่านี้ก่อนนะครับ หากมีอะไรเพิ่มเติมจะมาแชร์ให้อ่านครับหากมีส่วนใดผิดพลาด ไม่ถูกต้อง ก็ขออภัยและขอคำชี้แนะด้วยนะครับ
Happy Coding