การลด Dimension ของข้อมูลด้วยการทำ PCA ใน AzureML
ในการจัดการกับข้อมูลขนาดใหญ่มาก ๆ นั้นสิ่งที่เกิดขึ้นเป็นประจำคือข้อมูลเหล่านั้นมีจำนวน Feature หรือจำนวน dimension เป็นจำนวนมากอาจจะมีจำนวนเป็นหลักร้อยหรือหลักพัน ซึ่งหากเรานำข้อมูลที่มีจำนวน dimension มาวิเคราะห์อาจทำให้ผลลัพธ์ที่ได้มีความแม่นยำน้อยลง ใช้เวลาในการ RUN ข้อมูลที่นานและอาจทำให้เกิดการ Overfitting ได้
ดังนั้นเราจึงต้องทำการลด dimension ของข้อมูลก่อนที่จะนำข้อมูลของเราไปวิเคราะห์หรือสร้างโมเดลโดยการใช้วิธีที่ชื่อว่า Principal Component Analysis (PCA)
Principal Component Analysis (PCA)
- สร้าง coordinates สำหรับข้อมูลใหม่
- แสดงโครงสร้างภายในของข้อมูลที่อธิบาย variance ของข้อมูลได้ดีที่สุด
- ลดจำนวน dimension ของข้อมูล
ซึ่งการทำ PCA ใน AzureML เราจะใช้ module ที่ชื่อว่า Principal Component Analysis ซึ่งมาวิธีการดังนี้
1. ลากข้อมูล dataset ที่เราต้องการจะลดจำนวน dimension มาวางบน Workspace ซึ่งข้อมูลที่เราต้องการลดจำนวน dimension ในวันนี้คือข้อมูล Bank Telemarketing ซึ่งต้องการ classification ว่าลูกค้าจะสมัครรับสินค้าหรือไม่ โดยมีจำนวน 41188 แถว และ 21 คอลัมน์
2. ค้นหา module ที่ชื่อว่า Principal Component Analysis ลากมาวางบน Workspace และเชื่อมต่อกับ dataset ของเรา
3. คลิก Launch column selector เลือกทุกคอลัมน์ยกเว้นคอลัมน์ Y ที่เป็น target ของเรา จากนั้นเราจะทำการตั้งค่าจำนวนคอลัมน์ที่เราต้องการหลังจากลด dimension ซึ่งสามารถกำหนดได้ที่ Number of dimensions to reduce to ซึ่งในตัวอย่างเราต้องการลด featureให้เหลือ 15 คอลัมน์ จากนั้นคลิก RUN
เมื่อ RUN เสร็จเราจะได้ว่า feature ของเราจะเหลือ 15 คอลัมน์และรวมกับคอลัมน์ y ที่เป็นเป้าหมายของเราเป็น 16 คอลัมน์ตามที่เราต้องการค่ะ