Classification และ Regression ต่างเป็น Model ประเภท Supervised Model เหมือนกัน ซึ่ง Model ประเภทนี้จำเป็นต้องมี Target หรือ ตัวแปรที่ต้องการศึกษา เป็นตัวต้นแบบ
ตัวอย่างเช่น ต้องการศึกษากลไกในการอนุมัติสินเชื่อ ซึ่งตัวแปรที่ต้องการศึกษา คือ การอนุมัติสินเชื่อ (อนุมัติ หรือ ไม่อนุมัติ) โดยใช้ข้อมูลเก่าในอดีตเป็นตัวต้นแบบ
ความต่างของ Classification กับ Regression คือ ลักษณะของ Target ที่ต่างกัน
Target ของ Classification คือ ข้อมูลที่เป็นลักษณะกลุ่ม หรือข้อมูลที่ไม่มีความต่อเนื่อง เช่น ใช่/ไม่ใช่ หรือ 1 2 3 4 เป็นต้น
Target ของ Regression คือ ข้อมูลที่มีความต่อเนื่อง ไม่ได้แบ่งเป็นกลุ่ม เช่น 0-100
หลายคนอาจจะมองว่า ในเชิงการพัฒนาโปรแกรม Classification กับ Regression นั้นเหมือนกัน เพราะก็คือการมองหาความสัมพันธ์ของปัจจัยต่างๆ เพื่อให้ได้ผลลัพธ์ที่เป็น Target แต่รายละเอียดในการใช้ Classification และ Regression Model มีความแตกต่างในส่วนต่างๆ ตัวอย่างเช่น
1. การประเมินผลลัพธ์
Classification ประเภท Binary หรือ ตัวแปรที่มีเพียง 2 กลุ่ม จะใช้ Confusion Matrix เป็นตัววัดค่าความแม่นยำ ในขณะที่ Regression จะใช้วิธีการวัดผลที่หลากหลายกว่า เช่น ค่า R-squared ค่า Mean Absolute Percentage Error (MAPE) หรือ RMSE เป็นตัววัดผล
ข้อสังเกต คือ การวัดผลของ Supervised Model จะสามารถวัดค่าความแม่นยำ หรือ Accuracy ได้ เนื่องจากมี Target เป็นตัวตั้งต้น ทำให้สามารถนำค่า Predict ที่ได้ มาวัดค่าความคาดเคลื่อนจากตัวตั้งต้นได้นั่นเอง ในกรณีของทั้ง Classification และ Regression จึงสามารถประเมินผลลัพธ์ของ Model ได้จากค่า Accuracy
2. ความเข้าใจในเชิงการทำงาน หรือบุคคลที่ไม่ใช่ Technician
Model ทั้ง 2 ประเภทนี้ มีวัตถุประสงค์ในการใช้งานต่างกัน โดย Classification มักจะใช้เพื่อการจัดประเภท และการตัดสินใจ เช่น การวิเคราะห์สินเชื่อ ที่มีผลประเมินเป็น อนุมัติ/ไม่อนุมัติ, Fraud Detection หรือ การวิเคราะห์กลโกง ที่มีผลประเมินเป็นความระดับความเสี่ยง 1/2/3/4 ในขณะที่ Regression มักจะใช้เพื่อวิเคราะห์ข้อมูลที่มี Range ข้อมูลค่อนข้างกว้าง เช่น Weather Forecast หรือ การพยากรณ์สภาพอากาศ, การประเมินปัจจัยที่ทำให้เกิดมลพิษ ที่มีผลลัพธ์เป็นตัวเลขในช่วง 0-100 เป็นต้น
ข้อสังเกต คือ โจทย์บางข้อ จะมีแนวคิดการใช้ Model ที่ชัดเจน เช่น Forecasting จะใช้ Time Series Model หรือ Regression Model, การประเมินความเสี่ยงที่มีระดับความเสี่ยงเป็นกลุ่ม จะใช้ Classification Model เป็นต้น ซึ่ง Data Scientist จะค่อนข้างมีความเคยชิน และจะสามารถบอกได้ว่า นี้คือโจทย์ประเภทอะไร ได้จากชื่อของโจทย์
3. Algorithm ที่ใช้
ทั้ง 2 Model เป็น Supervised Model เหมือนกัน และมีลักษณะการใช้งานเพื่อศึกษาปัจจัยที่ให้ผลลัพธ์เป็น Target เหมือนกัน ดังนั้นจึงมี Algorithm บางตัวที่สามารถใช้งานได้เหมือนกัน ขึ้นอยู่กับการ Set up หรือ ตั้งค่า Model เช่น Neural Network, Random forests เป็นต้น แต่ก็มี Algorithm บางประเภท ที่ใช้งานกับ Model ได้เพียงอย่างใดอย่างหนึ่ง
เช่น Logistic Regression เป็น Model ที่ใช้สำหรับการวิเคราะห์โอกาสของการเป็น Binary ซึ่งการเป็น Binary คือ การเป็น Classification
ข้อสังเกต คือ Algorithm มีมากมายหลากหลาย ซึ่งไม่สามารถบอกได้ว่า โจทย์ไหนเหมาะกับ Algorithm ไหน ในการทำงานจริง Data Scientist จะเป็นผู้เลือก Algorithm และเปรียบเทียบผลลัพธ์ที่ได้ของแต่ละ Algorithm ดังนั้น การเปรียบเทียบ Algorithm มากกว่า 2 Algorithm จึงเป็นสิ่งที่ Data Scientist ควรทำการทดลอง ก่อนจะสรุปเป็นผลลัพธ์
หลายคนอาจจะมองว่า เรื่องเทคนิค เป็นเรื่องของ Technician ก็คงไม่ถูก และไม่ผิดอะไร ทั้งนี้ การสร้าง Model เป็นหน้าที่ของ Technician แต่คนประเมินผลลัพธ์ และคนใช้งาน เป็นผู้ใช้งาน ที่อาจจะไม่ใช่ Technician ดังนั้น แม้เรื่องการสร้าง Model จะเป็นเรื่องเชิงเทคนิค แต่หากไม่เข้าใจกลไกการสร้าง Model ก็อาจไม่สามารถประเมินผลลัพธ์ที่ได้จาก Model ได้นั่นเอง
ในอีกมุมหนึ่ง การทำความเข้าใจ Model แต่ละประเภท ไม่ได้หมายถึงว่า จะต้องเขียนโปรแกรม หรือสร้าง Model ขึ้นมา เพียงแต่เป็นการทำความเข้าใจที่มาที่ไป และแนวทางในการประเมินผลลัพธ์ ซึ่งเป็นการทำงานในเชิงการบริหารโครงการ มิใช่เชิงเทคนิคจนเกินไป
תגובות