วิธีการจัดการกับ Outliers ด้วย AzureML

เมื่อเราต้องการวิเคราะห์หรือสร้างโมเดลเพื่อใช้ในการทำนายนั้น เรามักจะมีปัญหาที่พบบ่อย ๆ และต้องจัดการกับมัน คือ Outliers 

Outliers คือข้อมูลที่มีระยะห่างจากข้อมูลตัวอื่น ๆ มากและส่งผลต่อผลการทำนายของเรา ซึ่งทำให้ผลการทำนายของเรามีความคาดเคลื่อนมาก โดยวิธีการแก้ปัญหานี้ คือ การ visualize เพื่อดูข้อมูลจากกราฟ การกำหนดไม่ให้มีค่าเกิน Percentile ที่เราต้องการ ซึ่งวิธีการเหล่านี้สามารถทำได้โดยใช้ module ที่ชื่อว่า Clip Values 

โดยตัวอย่างที่เราจะแสดงให้เห็นการจัดการกับ outliers คือ Employee Dataset เมื่อเรา visualize ดู  ข้อมูลคอลัมน์ Years of Experience กับ Monthly Income เราจะได้กราฟดังนี้

จากกราฟข้างต้นเราจะพบว่ามี outliers จำนวน 4 ข้อมูลในวงกลมสีแดง ซึ่งเป็นข้อมูลที่เราต้องการจะจัดการโดยในข้อมูลนี้วิธีการดังนี้
1. นำข้อมูล Employee Dataset มาวางบน workspace

2. นำ module ที่ชื่อว่า Clip values วางเชื่อมกับ dataset ของเรา

3. ในตัวอย่างนี้เราต้องการจะจัดการกับรายได้ต่อเดือน หรือ Monthly Income ที่มากกว่า 6000 ออกไปโดยเราจะตั้งค่า parameter ดังนี้ 

Set of thresholds : ClipPeak

Upper threshold : Constant

Constant value for upper threshold : 6000

Upper substitute value : Threshold

เลือกคอลัมน์เป็น Monthly Income จากนั้นคลิก RUN เราจะได้ผลคือ outliers ของเราที่เดิมมีค่าเกิน 6000 ไปมากนั้น จะกลายเป็นค่า 6000 ดังรูป

ต่อมาเราจะมาดูตัวอย่าง Adult Census Income ซึ่งเป็น sample dataset ของ AzureML เมื่อเรา visualize ดูข้อมูลซึ่งเราจะใช้วิธีการอีกรูปแบบหนึ่ง ซึ่งคอลัมน์ที่เราต้องการจะจัดการกับข้อมูลคือ fnlwgt ซึ่งมีลักษณะข้อมูลตามรูป

โดยเราต้องการจะใช้ Percentile ในการ clip ให้อยู่ในค่า Percentile ที่ 1-99 โดยทำได้ดังนี้

1. นำข้อมูล Employee Dataset มาวางบน workspace
2. นำ module ที่ชื่อว่า Adult Census Income วางเชื่อมกับ dataset ของเรา
3. ในตัวอย่างนี้เราต้องการจะจัดการกับ outliers ของคอลัมน์ fnlwgt โดยการทำให้มี Percentile อยู่ระหว่าง
Percentile ที่ 1 ถึง Percentile ที่ 99 โดยกำหนด parameter ดังรูป จากนั้นกด RUN

หลังจากที่เรา RUN ข้อมูลแล้ว visualize ดูที่คอลัมน์ fnlwgt  จะพบว่าค่าสูงสุดและต่ำสุดของข้อมูลมีการเปลี่ยนแปลงไปแล้วอยู่ใน

Recent News & Events

Recent Articles