จนถึงตอนนี้ เราทำให้คุณรู้สึกว่าโมเดลทำหน้าที่โดยตรงบน แถวของชุดข้อมูล อย่างไรก็ตาม โมเดลจะนำเข้าข้อมูลที่แตกต่างกันค่อนข้างมาก
ตัวอย่างเช่น สมมติว่าชุดข้อมูลมี 5 คอลัมน์ แต่มีเพียง 2 คอลัมน์
คอลัมน์ (b
และ d
) เป็นฟีเจอร์ของโมเดล เมื่อประมวลผล
ในตัวอย่างในแถวที่ 3 โมเดลแค่จับเนื้อหาของ
ไฮไลต์ 2 เซลล์ (3b และ 3d) ดังนี้
อันที่จริง โมเดลจะนำเข้าอาร์เรย์ของค่าที่มีจุดลอยตัวที่เรียกว่า เวกเตอร์ฟีเจอร์ ลองคิดดู ของเวกเตอร์จุดสนใจเป็นค่าจุดลอยตัวที่ประกอบด้วยตัวอย่าง 1 ตัวอย่าง
อย่างไรก็ตาม เวกเตอร์ฟีเจอร์ไม่ค่อยใช้ค่าดิบของชุดข้อมูล แต่คุณต้องประมวลผลค่าของชุดข้อมูลเพื่อแสดงแทน ที่โมเดลจะเรียนรู้ได้ดียิ่งขึ้น ภาพที่สมจริงยิ่งขึ้น เวกเตอร์ของจุดสนใจอาจมีลักษณะดังนี้
โมเดลจะไม่สร้างการคาดการณ์ที่ดีกว่าโดยการฝึกจาก ค่าจริงในชุดข้อมูลแตกต่างจากค่าที่แก้ไขหรือไม่ คำตอบที่น่าประหลาดใจคือไม่
คุณต้องกำหนดวิธีที่ดีที่สุดในการแสดงค่าชุดข้อมูลดิบเป็นข้อมูลที่ฝึกได้ ในเวกเตอร์ของจุดสนใจ กระบวนการนี้เรียกว่า feature Engineering และเป็นส่วนสำคัญของแมชชีนเลิร์นนิง เทคนิคด้านวิศวกรรมฟีเจอร์ที่พบบ่อยที่สุดมีดังนี้
- การทำให้เป็นมาตรฐาน: กำลังแปลง ค่าตัวเลขในช่วงมาตรฐาน
- Binning (เรียกอีกอย่างว่า bucketing): การแปลงตัวเลข ลงในที่เก็บข้อมูลของช่วง
หน่วยนี้ครอบคลุมการทำที่ปรับให้เป็นปกติและเข้าเล่ม หน่วยถัดไป การทำงานกับข้อมูลเชิงหมวดหมู่ ครอบคลุมถึงรูปแบบอื่นๆ การประมวลผลล่วงหน้า เช่น แปลงข้อมูลที่ไม่ใช่ตัวเลข เช่น สตริง เป็นค่าทศนิยม
ทุกค่าในเวกเตอร์ฟีเจอร์ต้องเป็นค่าของจุดลอยตัว อย่างไรก็ตาม ตามธรรมชาติแล้วเป็นสตริงหรือค่าอื่นๆ ที่ไม่ใช่ตัวเลข ด้วยเหตุนี้ ส่วนใหญ่ของ Feature Engineering จะแสดงค่าที่ไม่ใช่ตัวเลขเป็น ที่เป็นตัวเลข คุณจะเห็นรายการนี้มากมายในโมดูลต่อๆ ไป