ข้อมูลดิบต้องได้รับการวิศวกรรมฟีเจอร์ (เปลี่ยนรูปแบบ) คุณควรเปลี่ยนรูปแบบข้อมูลเมื่อใด โดยทั่วไปแล้ว คุณสามารถสร้างชิ้นงานได้ในช่วงใดช่วงหนึ่งต่อไปนี้
- ก่อนฝึกโมเดล
- ขณะฝึกโมเดล
การเปลี่ยนรูปแบบข้อมูลก่อนการฝึก
แนวทางนี้ประกอบด้วย 2 ขั้นตอน ดังนี้
- เขียนโค้ดหรือใช้เครื่องมือเฉพาะทาง เพื่อเปลี่ยนรูปแบบข้อมูลดิบ
- จัดเก็บข้อมูลที่แปลงแล้วไว้ในที่ที่โมเดลสามารถนำเข้าได้ เช่น ในดิสก์
ข้อดี
- ระบบจะเปลี่ยนรูปแบบข้อมูลดิบเพียงครั้งเดียว
- ระบบสามารถวิเคราะห์ชุดข้อมูลทั้งหมดเพื่อกำหนดกลยุทธ์การเปลี่ยนรูปแบบที่ดีที่สุด
ข้อเสีย
- คุณต้องสร้างการเปลี่ยนรูปแบบอีกครั้งในเวลาที่คาดการณ์ ระวังความคลาดเคลื่อนระหว่างการฝึกและการให้บริการ
ความเอียงของข้อมูลที่ใช้ฝึกกับข้อมูลที่ใช้ให้บริการจะอันตรายมากขึ้นเมื่อระบบทำการอนุมานแบบไดนามิก (ออนไลน์) ในระบบที่ใช้การอนุมานแบบไดนามิก ซอฟต์แวร์ที่เปลี่ยนรูปแบบชุดข้อมูลดิบมักจะแตกต่างจากซอฟต์แวร์ที่แสดงการคาดการณ์ ซึ่งอาจทําให้การฝึกและการนําเสนอข้อมูลมีความเบี่ยงเบน ในทางตรงกันข้าม ระบบที่ใช้การอนุมานแบบคงที่ (ออฟไลน์) อาจใช้ซอฟต์แวร์เดียวกันในบางครั้ง
การเปลี่ยนรูปแบบข้อมูลขณะฝึก
ในกรณีนี้ การเปลี่ยนรูปแบบเป็นส่วนหนึ่งของโค้ดโมเดล โมเดลจะส่งผ่านข้อมูลดิบและเปลี่ยนรูปแบบข้อมูล
ข้อดี
- คุณยังคงใช้ไฟล์ข้อมูลดิบเดิมได้หากเปลี่ยนการเปลี่ยนรูปแบบ
- คุณจะได้รับการเปลี่ยนรูปแบบเดียวกันในเวลาที่ฝึกและเวลาทำนาย
ข้อเสีย
- การแปลงที่ซับซ้อนอาจเพิ่มเวลาในการตอบสนองของโมเดล
- การเปลี่ยนรูปแบบจะเกิดขึ้นกับแต่ละกลุ่ม
การเปลี่ยนรูปแบบข้อมูลต่อกลุ่มอาจเป็นเรื่องยาก ตัวอย่างเช่น สมมติว่าคุณต้องการใช้การปรับมาตรฐานคะแนน Z เพื่อเปลี่ยนรูปแบบข้อมูลตัวเลขดิบ การทำให้เป็นมาตรฐานตามคะแนน z ต้องใช้ค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของฟีเจอร์ อย่างไรก็ตาม การเปลี่ยนรูปแบบต่อกลุ่มหมายความว่าคุณจะมีสิทธิ์เข้าถึงข้อมูล 1 กลุ่มเท่านั้น ไม่ใช่ทั้งชุดข้อมูล ดังนั้น หากกลุ่มมีความแปรปรวนสูง ค่า Z-Score เช่น -2.5 ใน 1 กลุ่มจะไม่มีความหมายเหมือนกับ -2.5 ในอีกกลุ่ม วิธีแก้ปัญหาคือระบบจะคํานวณค่ามัธยฐานและค่าเบี่ยงเบนมาตรฐานล่วงหน้าจากทั้งชุดข้อมูล แล้วนําไปใช้เป็นค่าคงที่ในโมเดล