Reasonable Data Science, EP I

การทำงาน Data Science Project นั้น มักเกิดคำถามระหว่างการทำงานที่ตัวเราเองก็อาจยังคงแคลงใจอยู่ว่า แนวคิด ทฤษฎี หลักการ ที่เคยได้ฟังมา อ่านมา หรือเห็นเค้านิยมทำกันนั้น จำเป็นต้องทำในทุกกรณีหรือไม่ กรณีไหนควรเลือกทำอย่างใด และอะไรคือผลที่ตามมา งานเขียนนี้จึงหยิบยกประเด็นคำถาม​ที่ผู้เขียนพบเจอบ่อยๆ จากการทำงาน และได้เคยทำการค้นคว้า ทำการทดลอง เพื่อหาคำตอบในเชิงเหตุและผลว่า เหตุใดจึงต้องทำสิ่งนี้ ทำหรือไม่ทำมีความแตกต่างกันหรือไม่อย่างไร อีกทั้งให้คำแนะนำทางเลือกอื่นๆ ที่เป็นไปได้ตามหลักการของ Data Science โดยมีการยกตัวอย่างในเรื่อง Prediction of Customer Behavior ประกอบความเข้าใจ

ประเด็นคำถามที่มักถูกถามบ่อยใน Data Science Projects

มักจะอยู่ใน 3 ประเด็นดังนี้

สภาพแวดล้อมและข้อกำหนดพื้นฐานในการทดลองของงานเขียนนี้

ความต้องการทางธุรกิจซึ่งกำหนดไว้เป็นโจทย์ในการทดลอง คือ นักการตลาดต้องการทราบล่วงหน้าว่า ผู้เยี่ยมชมเว็บไซต์ e-Commerce รายได้มีโอกาสที่จะซื้อสินค้า เพื่อนำเสนอ campaign ทางด้านการตลาดที่จะช่วยให้เกิด up-selling/cross-selling ให้เหมาะกับลูกค้าเฉพาะรายต่อไป (Personalized Marketing)

Feature Enhancement

Feature Enhancement เป็นการสร้าง Feature ขึ้นมาใหม่จาก Feature เดิม โดยทั่วไปแล้ว ความจำเป็นในการทำ Feature Enhancement มักมาจากมี Feature เข้าสู่กระบวนการ train model น้อยเกินไป ยกตัวอย่างเช่น ข้อมูลที่ได้รับมามีเพียง Feature ที่เป็นวันเวลาในรูปแบบ timestamp และ Label ที่เป็นค่าการใช้พลังงาน (Power Consumption) เราอาจสร้าง Feature ของ Hour, Day/Night, Day of Week, Week of Month, Week of Year ขึ้นมาใช้เป็น Feature ที่น่าจะเป็นปัจจัยที่ส่งผลต่อค่าใช้การพลังงานขึ้นมาได้ แต่ในบางกรณีก็อาจมาจากสาเหตุที่ Feature ที่มีอยู่ไม่สามารถ Capture pattern ที่สำคัญได้ จึงต้องสร้างขึ้นมาใหม่จากการทำ Sequential Analysis เป็นต้น

รูปที่ 1 คือ ตัวอย่างข้อมูลเดิมก่อนทำ Feature Enhancement
รูปที่ 2 คือ ผลจากการทำ Feature Enhancement บนข้อมูลตามรูปที่ 1 ด้วยวิธี Sequential Analysis
รูปที่ 3 ผลการประเมินโมเดลที่ได้รับมาจาก train ด้วย Feature ที่มีการทำ Sequential Analysis
รูปที่ 4 ผลการประเมินโมเดลที่ได้รับมาจาก train ด้วย Feature ที่ไม่มีการทำ Sequential Analysis

Feature Selection

เทคนิคที่มีการนำใช้คัดเลือก Features เพื่อทำ Supervised Learning ที่นิยมใช้ในปัจจุบันมี 2 วิธีการ คือ Filter Method และ Wrapper Method

รูปที่ 5 คือ การทำ Feature Selection ในแบบ Filter Method ด้วยใช้ค่า Pearson Correlation

Algorithms Selection

ข้อจำกัดในด้าน Computing Resource เป็นเหตุสำคัญที่ทำให้จำเป็นต้องมีการเลือกใช้ Algorithm เพื่อให้สามารถ train โมเดลได้สำเร็จในเวลาที่คาดหวังไว้ แต่ในปัจจุบันข้อจำกัดในด้านนี้มีแนวโน้มลดลงเรื่อยๆ ทั้งราคาที่ถูกลงของ Hardware และความสะดวกของการใช้ Cloud Computing ดังนั้นผู้เขียนจึงขอให้คำแนะนำว่าการเลือกใช้อัลกอริทึมจึงควรเลือกให้เหมาะสมกับคำตอบของโมเดลในเบื้องต้น

รูปที่ 6 คือ คำตอบของโมเดลซึ่งแสดงอยู่ในกรอบสีเหลี่ยมสีต่างๆ กับ อัลกอริทึมที่ใช้สร้างโมเดล

สรุป

งานเขียนนี้ได้ทำการทดลองเพื่อพิสูจน์ประเด็นคำถามต่างๆ ในเบื้องต้น ทั้งในกรณี Feature Enhancement ที่ช่วยสร้าง Feature ขึ้นมาใหม่จาก Feature เดิมที่ช่วยลดข้อจำกัด Feature ไม่เพียงพอต่อการ train โมเดล และเปิดโอกาสให้ได้รับโมเดลที่ดีขึ้น ส่วน Feature Selection with Filter Method ไม่ได้เป็นการรับประกันว่าจะได้โมเดลที่ดีเสมอไป และอาจต้องใช้ Wrapper Method ร่วมด้วยจนกว่าจะได้รับโมเดลที่ดี สุดท้าย Algorithm Selection ที่ควรเลือกให้เหมาะสมคำตอบที่ธุรกิจต้องการ

Experienced Senior Big Data & Data Science Consultant with a history of working in many enterprises and various domains . Skilled in Apache Spark, and Hadoop.

Experienced Senior Big Data & Data Science Consultant with a history of working in many enterprises and various domains . Skilled in Apache Spark, and Hadoop.