Feature Engineering อาวุธลับของ Data Scientist

Feature Engineering อาวุธลับของ Data Scientist
Image from DALL-E 2 (Prompt: Panda mad scientist writes code)

จินตนาการถึงหินก้อนใหญ่จากธรรมชาติ สามารถถูกนำไปแกะสลักสร้างผลงานชิ้นเอกได้ แต่ต้องใช้ทักษะและความรู้ของประติมากรในการเปลี่ยนวัตถุดิบให้กลายเป็นประติกรรมที่น่าทึ่ง ในทำนองเดียวกัน นักวิทยาศาสตร์ข้อมูล ทำงานกับข้อมูลดิบ แต่เพื่อปลดล็อกศักยภาพที่แท้จริง จำเป็นต้องใช้ศาสตร์และศิลป์ในเรื่อง “Feature Engineering”

Feature Engineering คืออะไร

เป็นกระบวนการ แปลงข้อมูลดิบให้เป็น Feature ที่ มีความหมายและ Informative มากขึ้นสำหรับ Machine Learning Model เป็นส่วนหนึ่งในขั้นตอนการสร้าง Model หากทำได้ดี จะทำให้ Model มีประสิทธิภาพมากยิ่งขึ้น

เหตุใด Feature Engineering จึงมีความสำคัญ

  • ปรับปรุงประสิทธิภาพของโมเดล: Features ที่มีความหมายช่วยให้ Model เรียนรู้ความสัมพันธ์ที่ซับซ้อนและคาดการณ์ได้อย่างแม่นยำ
  • ลดสัญญาณรบกวนและความซ้ำซ้อน: ข้อมูลดิบมักมีข้อมูลที่ไม่เกี่ยวข้องหรือไม่สอดคล้องกัน Feature Engineering ช่วยเลือกแต่เฉพาะข้อมูลที่สำคัญ
  • ช่วยให้การเรียนรู้มีประสิทธิภาพ: ด้วยการใช้ Informative Features ที่มีความชัดเจนและกระชับ ทำให้ Model สามารถเรียนรู้ได้รวดเร็วขึ้นและใช้ทรัพยากรในการคำนวณน้อยลง

เทคนิคในการทำ Feature Engineering

  • Scaling: ตรวจสอบให้แน่ใจว่า Features ต่างๆ มีมาตราส่วนที่เปรียบเทียบกันได้ ป้องกันไม่ให้ Algorithm เกิดการ Bias ไปยัง Feature ที่มี Scale ใหญ่กว่า
  • Encoding: แปลงคุณลักษณะที่ไม่ใช่ตัวเลข (เช่น สี สถานที่) ให้เป็นรูปแบบตัวเลขที่ Machine (Compute) เข้าใจได้
  • Dimensionality Reduction: ลดจำนวน Features โดยไม่สูญเสียข้อมูลสำคัญ ปรับปรุงประสิทธิภาพของโมเดลและการตีความ
  • การสร้าง Feature ใหม่: โดยการรวมหรือใช้การดำเนินการทางคณิตศาสตร์ กับ Features เดิมที่มีอยู่
Image from DALL-E 2 (Prompt: Digital art of customer in supermarket)

ตัวอย่าง

ต้องการทำนายการเลิกใช้งานของลูกค้า (Churn Prediction) ของบริษัทค้าปลีกขนาดใหญ่ Feature Engineering จะมีผลกระทบต่อประสิทธิภาพของ Model

  • Original Features: รหัสลูกค้า อายุ สถานที่ การใช้จ่ายรายเดือน
  • Improved Features:
    • Scaling Feature: อายุและการใช้จ่ายรายเดือน จะถูก Scale เพื่อให้อยู่ในช่วงที่เปรียบเทียบกันได้
    • Encoding Feature: สถานที่ ซึ่งเป็น Category จะถูกแปลงโดยใช้ One-hot Encoding ให้กลายเป็นตัวเลข
    • การสร้าง Feature ใหม่: อัตราส่วนของการใช้จ่ายรายเดือนต่อการใช้จ่ายเฉลี่ยที่อยู่ในภูมิภาคเดียวกัน

ด้วยการทำ Feature Engineering ทำให้ Model มีความเข้าใจข้อมูลดีขึ้น และสามารถระบุ Patterns ที่เกี่ยวข้องกับการเลิกใช้งานของลูกค้าได้อย่างมีประสิทธิภาพมากขึ้น

สิ่งที่ควรรู้

  • ไม่มีแนวทางเดียวที่เหมาะกับทุกเรื่อง: เทคนิคที่เหมาะสมที่สุดขึ้นอยู่กับปัญหาและข้อมูลเฉพาะที่กำลังทำในแต่ละเรื่อง
  • การทดลองเป็นสิ่งสำคัญ: ลองใช้เทคนิคต่างๆ จากนั้นประเมินประสิทธิภาพของ Model และทดลองซ้ำๆ เพื่อค้นหาส่วนผสมที่ดีที่สุด
  • ความรู้ในธุรกิจนั้นๆ มีความสำคัญ: ความเข้าใจปัญหาและข้อมูล ช่วยให้สามารถสร้าง Features ที่เกี่ยวข้องและ Informative อย่างแท้จริงได้

สรุป

Feature Engineering เป็นเครื่องมืออันทรงพลังที่ช่วยให้นักวิทยาศาสตร์ข้อมูลสามารถปลดล็อกศักยภาพที่แท้จริงของข้อมูลและสร้าง Machine Learning Model ที่มีประสิทธิภาพ ด้วยการนำเอาศิลปะและวิทยาศาสตร์มาใช้ร่วมกัน สามารถแปลงข้อมูลดิบ (Raw data) ให้เป็นข้อมูลเชิงลึกอันที่มีคุณค่า ก่อให้เกิดผลลัพธ์ที่เป็นประโยชน์ในธุรกิจ


หมายเหตุ - Blog นี้ เป็นการเขียนร่วมกันกับ Gemini โดยใช้ตัวอย่าง Prompts ดังนี้

Please write a blog about feature engineering in data science

Note - การใช้ Prompt เหมือนกัน ในแต่ละครั้ง อาจให้คำตอบที่แตกต่างกัน