Machine Learning

Azure ML Studio สร้างโมเดลง่ายๆใช้งานฟรีบนเว็บบราวเซอร์

บทความนี้แอดเขียนแนะนำวิธีการใช้งาน Azure ML Studio เบื้องต้นเพื่อสร้างโมเดลแบบไม่ต้องเขียนโค้ด drag & drop ห้านาทีเสร็จแล้ว สมัครใช้งานฟรีที่ https://studio.azureml.net/ <3

Azure คืออะไร?
Azure คือ Cloud Services ของ Microsoft เพื่อนๆไม่ต้องลงโปรแกรมอะไรให้ยุ่งยาก แค่เปิด browser ขึ้นมา sign in เข้าสู่ ML Studio ก็เริ่มทำงานได้เลย ตั้งแต่ลองใช้งาน Cloud มาแอดว่าของ Azure ใช้ง่ายสุด

Create Account

สำหรับ free account เหมาะสำหรับนักศึกษาที่กำลังเรียน ML ทำโปรเจ็คที่ข้อมูลยังไม่ใหญ่มาก <= 10 GB (อ่านความแตกต่างระหว่าง free vs. standard ได้ที่นี่) ได้สิทธิการใช้งานดังนี้

  • พื้นที่เก็บข้อมูล 10 GB
  • ใช้ได้มากสุด 100 modules ต่อการทดลองหนึ่งครั้ง (per experiment)
  • เวลาในการรันโมเดลมากสุด 1 ชั่วโมง และใช้ได้แค่ single core CPU (node)
ตอนสมัครให้เลือกแบบ free workspace แล้วกด sign in

Getting Started

Sign in เข้าไปที่ ML Studio ให้กดที่ปุ่ม <New> ด้านซ้ายล่างของหน้าจอ แล้วเลือก <Blank Experiment>

คลิก +NEW เพื่อสร้าง blank experiment

Workspace (รูปด้านล่าง) คือพื้นที่ให้เราลากกล่อง <Module> ต่างๆสำหรับวิเคราะห์ข้อมูลเบื้องต้น ทำ data exploration ไปจนถึงการสร้างโมเดล ตอนนี้ ML Studio มีโมเดลสำเร็จรูปให้เราใช้งานมากกว่า 20+ โมเดล แบ่งเป็น 4 กลุ่ม คือ anomaly detection, classification, regression และ clustering

Anomaly Detection คืออะไร?
เป็น algorithm/ model ที่ใช้ตรวจจับ fraud หรือ transaction ที่ผิดปกติ (คล้ายๆพวก outlier)
Classification ต่างกับ Regression อย่างไร?
Classfication ใช้ทำนายตัวแปรตาม (y) แบบ discrete เช่น อีเมล์เป็น {spam, ham} ส่วน Regression ใช้ทำนายตัวแปรตามแบบ continuous เช่น ราคาบ้าน 12000, 15000, 50000 เป็นต้น
หน้า workspace ที่ใช้ในการสร้างโมเดล

หน้าจอ workspace จะแบ่งออกเป็นสามส่วน

  1. <Module> ทั้งหมดให้เราเลือกใช้งาน
  2. <Canvas> ให้เราลากกล่อง module ไปวาง และสร้าง connection i.e. ลากเส้นเชื่อมกล่องเข้าด้วยกัน โปรแกรมจะรันจากบนลงล่างเสมอ
  3. <Option> ที่เราสามารถเปลี่ยนได้ของแต่ละ module

Model Training

 วิธีการสร้างโมเดลแค่ลาก 7 Modules นี้ไปวางบน canvas ใช้เม้าส์ลาก connect ทุก module เข้าด้วยกันตามรูปด้านล่าง ถึงแม้ว่าเราไม่ต้องเขียนโค้ดเองแต่ก็ต้องเข้าใจขั้นตอนการสร้างโมเดลเบื้องต้น  เช่น ทำไมต้อง split data เป็น {train, test}? ทำไมต้อง score model i.e. ทำนาย test set ให้ได้ค่า probability?

กฎเหล็กการสร้างโมเดล Machine Learning
เราต้อง split data เสมอเป็น {train set, test set} สร้างโมเดลด้วย train และทดสอบโมเดลด้วย test เพื่อลดปัญหา overfitting ในทางปฏิบัติ best practice คือการทำ cross-validation
  • Import Data
  • Select Columns in Dataset
  • Split Data (ใช้แบ่งข้อมูลเป็น train 70% และ test 30%)
  • Train Model
  • Two-Class Decision Forest (โมเดลที่เราต้องการ train สามารถเปลี่ยนได้)
  • Score Model
  • Evaluate Model

ในแต่ละกล่อง module จะมี option ให้เราปรับเปลี่ยนได้ตามที่ต้องการ เช่น <Split Data> สามารถกำหนดสัดส่วนของข้อมูล train vs. test และค่า random seed

Standard modules สำหรับสร้างโมเดลบน ML Studio

พอเรากำหนด option ของทุก module เสร็จแล้วให้กดปุ่ม <RUN> ด้านล่างของหน้าจอรอประมาณ 1-2 นาทีให้ Azure รันโปรแกรม เสร็จแล้วจะมีเครื่องหมาย ✓ สีเขียวบนกล่อง module และมุมขวาบนของหน้าจอจะมีคำว่า <Finished running> ขึ้นมาด้วย

That’s Quick!

เสร็จแล้ว ทำไมเร็วขนาดนี้ 555+ คลิกขวาที่ <Evaluate Model> เลือก Evaluation results -> Visualize

Metrics ทั้งหมดที่ได้จาก <Evaluate Model> มีครบทุกตัวที่ใช้กันทุกวันนี้ ประกอบด้วย

  • RMSE, MSE, MAE สำหรับปัญหา regression
  • ROC และ AUC สำหรับปัญหา classification
  • Accuracy, Precision, Recall, F1 Score
  • Precision Recall Curve และ Lift Curve
  • Confusion Matrix สามารถเปลี่ยนค่า threshold เพื่อทดสอบโมเดลได้เลย
ROC (ซ้าย) และ Precision-Recall Curve (ขวา)

Metric ที่เรานิยมใช้วัดความสามารถของ classification model คือพื้นที่ใต้กราฟ ROC ที่เรียกว่า “AUC” (Area Under Curve) โดย AUC จะมีค่าอยู่ระหว่าง 0-1 ยิ่งค่าเข้าใกล้ 1 แปลว่าโมเดลเราทำงานได้ดีมาก

ตารางสรุปผล metrics ทั้งหมดแบ่งตามช่วง probability
 Azure ML Studio ช่วยให้การสร้างโมเดลเป็นเรื่องง่ายมาก ใครๆก็สามารถทำได้แค่เข้าใจขั้นตอนการสร้างโมเดลและ metrics ที่เราใช้ทดสอบโมเดลอย่าง accuracy, precision, recall และ F1 score .

Azure ยังมี option ให้เรานำโมเดลไปใช้งานจริงได้เลย <Deploy as a Web Service> แต่จะมีค่า production คิดตามจำนวน transactions สามารถดูค่าใช้จ่ายของ API deployment เบื้องต้นได้ที่นี่

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.