การจัดการข้อมูลที่หายไป

ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

Lisa Stuart

Data Scientist

ความรู้พื้นฐานที่ต้องมี

ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

โครงร่างคอร์ส

  • บทที่ 1: การเตรียมข้อมูลและการแสดงผล
    • ข้อมูลที่หายไป, ค่าผิดปกติ, การทำ Normalization
  • บทที่ 2: Supervised Learning
    • การคัดเลือก Feature, Regularization, Feature Engineering
  • บทที่ 3: Unsupervised Learning
    • การเลือกอัลกอริทึม Cluster, การสกัด Feature, การลดมิติข้อมูล
  • บทที่ 4: การเลือกและประเมินโมเดล
    • การ Generalization และประเมินโมเดล, การเลือกโมเดล
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

Machine Learning (ML) Pipeline

ภาพรวม Pipeline

ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ML Pipeline ของเรา

Pipeline

ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ข้อมูลที่หายไป

  • ผลกระทบของเทคนิคต่างๆ
  • การค้นหาค่าที่หายไป
  • กลยุทธ์ในการจัดการ
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

เทคนิคต่างๆ

  1. การละเว้น
    • ลบแถว --> .dropna(axis=0)
    • ลบคอลัมน์ --> .dropna(axis=1)
  2. การ Imputation
    • เติมด้วยศูนย์ --> SimpleImputer(strategy='constant', fill_value=0)
    • เติมด้วยค่าเฉลี่ย -> SimpleImputer(strategy='mean')
    • เติมด้วยค่ามัธยฐาน --> SimpleImputer(strategy='median')
    • เติมด้วยฐานนิยม --> SimpleImputer(strategy='most_frequent')
    • Iterative Imputation --> IterativeImputer()
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ทำไมต้องสนใจ?

  • ลดความเสี่ยงของการเกิด Bias
  • อัลกอริทึม ML ส่วนใหญ่ต้องการข้อมูลที่สมบูรณ์
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ผลกระทบของการ Imputation

  • ขึ้นอยู่กับ:
    • ค่าที่หายไป
    • Variance เดิมของข้อมูล
    • การมีอยู่ของค่าผิดปกติ
    • ขนาดและทิศทางของความเบ้
  • การละเว้น --> อาจลบข้อมูลออกมากเกินไป
  • ศูนย์ --> ทำให้ผลลัพธ์เบ้ลง
  • ค่าเฉลี่ย --> ได้รับผลกระทบจากค่าผิดปกติมากกว่า
  • ค่ามัธยฐาน --> เหมาะกว่าเมื่อมีค่าผิดปกติ
  • ฐานนิยมและ Iterative Imputation --> ลองนำไปใช้ดู
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python
ฟังก์ชัน คืนค่า
df.isna().sum() จำนวนค่าที่หายไป
df['feature'].mean() ค่าเฉลี่ยของ Feature
.shape จำนวนแถวและคอลัมน์
df.columns ชื่อคอลัมน์
.fillna(0) เติมค่าที่หายไปด้วย 0
select_dtypes(include = [np.number] ) คอลัมน์ตัวเลข
select_dtypes(include = ['object'] ) คอลัมน์ข้อความ
.fit_transform(numeric_cols) Fit และ Transform
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ผลกระทบของค่าที่หายไป

ผลกระทบของค่าที่หายไปในบริบท Machine Learning (ML) คืออะไร? เลือกคำตอบที่ ถูกต้อง:

  • ค่าที่หายไปไม่ใช่ปัญหา เพราะอัลกอริทึมส่วนใหญ่ของ sklearn รองรับได้
  • การลบข้อสังเกตหรือ Feature ที่มีค่าหายไปถือเป็นแนวทางที่ดีโดยทั่วไป
  • ข้อมูลที่หายไปมักทำให้เกิด Bias ซึ่งนำไปสู่ผลลัพธ์ที่คลาดเคลื่อน จึงไม่สามารถละเลยได้
  • การเติมค่าที่หายไปด้วยศูนย์จะทำให้ผลลัพธ์เบ้ขึ้น
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ผลกระทบของค่าที่หายไป: คำตอบ

ผลกระทบของค่าที่หายไปในบริบท Machine Learning (ML) คืออะไร? คำตอบที่ถูกต้องคือ:

  • ข้อมูลที่หายไปมักทำให้เกิด Bias ซึ่งนำไปสู่ผลลัพธ์ที่คลาดเคลื่อน จึงไม่สามารถละเลยได้ (วิธีที่ดีที่สุดคือทดสอบว่าการเติมค่าแบบใดส่งผลต่อ Variance ของชุดข้อมูลน้อยที่สุด)
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ผลกระทบของค่าที่หายไป: คำตอบที่ไม่ถูกต้อง

ผลกระทบของค่าที่หายไปในบริบท Machine Learning (ML) คืออะไร?

  • ค่าที่หายไปไม่ใช่ปัญหา... (อัลกอริทึมส่วนใหญ่ของ sklearn ไม่รองรับค่าที่หายไปและจะแสดงข้อผิดพลาด)
  • การลบข้อสังเกตหรือ Feature ที่มีค่าหายไป... (หากชุดข้อมูลไม่ใหญ่พอและสัดส่วนของค่าที่หายไปมีมาก การลบแถวหรือคอลัมน์จะทำให้ชุดข้อมูลเล็กเกินไปจนใช้งานใน ML ขั้นต่อไปได้ยาก)
  • การเติมค่าที่หายไปด้วยศูนย์จะทำให้ผลลัพธ์เบ้ขึ้น (ตรงกันข้าม การเติมด้วยศูนย์จะทำให้ผลลัพธ์เบ้ลงต่างหาก)
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

มาฝึกกันเถอะ!

ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

Preparing Video For Download...