ทำไมต้องทำ feature engineering

Image placeholder
แวะมาทักทายกันได้


อย่างที่เกริ่นไปว่า คำๆนี้เกี่ยวข้องกับงาน machine learning หรือการเรียนรู้ของคอมพิวเตอร์

ลองย้อนมาดูที่ตัวเราเวลาที่เราต้องการอ่านหนังสือ เราก็มักจะเลือกหนังสือหรือสื่อการเรียนรู้ที่เราสามารถเข้าใจเนื้อหานั้นๆได้ ไม่ว่าจะเป็น เนื้อหาที่เป็นภาษาไทย หรือ เนื้อหาภาษาอังกฤษ เพื่อให้ผู้เรียนเข้าใจเนื้อหาได้อย่างถ่องแท้

เช่นเดียวกัน คอมพิวเตอร์ ก็ต้องการเนื้อหาหรือภาษาที่คอมพิวเตอร์เข้าใจ

feature engineering เป็นกระบวนการหรือขั้นตอนในการเปลี่ยนข้อมูลให้อยู่ในรูปของ vector หรือ matrix หรือ ตัวเลขใดๆ ที่ทำให้ คอมพิวเตอร์สามารถอ่านได้ และ ใช้วิธีแปลงข้อมูลเป็นรูปแบบที่สามารถใช้สำหรับการเรียนรู้ของเครื่องได้อย่างมีประสิทธิภาพ

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

เวลาที่จะทำ feature engineering ในโพสนี้ขอกล่าววิธีการจัดการข้อมูล 2 ลักษณะ คือ ข้อมูลที่อยู่ในลักษณะหมวดหมู่ และ ลักษณะที่เป็นตัวเลข

หมวดหมู่ - categories

ตัวอย่างข้อมูลแบบ หมวดหมู่ ได้แก่

สี เช่น น้ำเงิน แดง ดำ เป็นต้น

ประเทศ เช่น ไอร์แลนด์ อังกฤษ หรือสหรัฐอเมริกา ไทย

ในขณะที่ข้อมูลเหล่านี้ มนุษย์สามารถเข้าใจได้ แต่คอมพิวเตอร์ไม่เข้าใจ ดังนั้น จะต้องเข้ารหัสข้อมูลประเภทหมวดหมู่ให้เป็นค่าตัวเลข เพื่อใช้ในการสร้างโมเดลการเรียนรู้ของเครื่อง วิธีจัดการมักจะใช้เทคนิค one-hot encoder ซึ่งเป็นวิธีการเปลี่ยนตัวหนังสือให้เป็นตัวเลขของกลุ่มข้อมูลที่เรากำหนด

ตัวเลข - numeric

ตัวอย่างข้อมูลแบบ ตัวเลข ได้แก่

สามารถวัดได้เชิงปริมาณสามารถบันทึกเป็นข้อมูลตัวเลขได้ เช่น อายุ ราคาของสินค้า จำนวนนับ

ข้อมูลเชิงพื้นที่ เช่น พิกัด

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

วิธีที่จัดการมีอยู่ 2 แบบ คือ แบบเลขฐานสอง (binary) และ แบบจัดกลุ่ม (bin)

แบบเลขฐานสอง binary - ตัวอย่างเช่น (ใช่, ไม่ใช่) (0, 1) เป็นต้น ซึ่งเป็นการแปลงข้อมูล จากตัวเลขจำนวนเต็มหลายหลัก มาเป็น เลข 0 หรือ 1 เพียงหลักเดียว

แบบจัดกลุ่ม bin - มักจะใช้กับข้อมูลที่มีช่วง หลายๆช่วง อย่างเช่น รายได้ เป็นต้น เช่น 0-10000, 10000-25000, 25000-50000 แล้วดูข้อมูลใน ชุดข้อมูลว่า อยู่ในช่วงใดให้แปลงมาเป็นตัวเลขง่ายๆ เช่น 0-10000 แปลงมาเป็น 0 และ 25000-50000 แปลงเป็นเลข 5 เป็นต้น

ถ้าเข้าใจเนื้อหาฝากติดตามเพจและกด google ads เป็นกำลังใจให้ผู้เขียนด้วยนะครับ 

แวะมาทักทายกันได้
donate