2011
วิธีการเพิ่มจำนวนข้อมูล (Oversampling) ด้วย SMOTE ใน weka
Posted by: admin In: Classification|Data Mining|Preprocess|Weka|Weka
ในโจทย์ปัญหา Classification นั้น หลายท่านคงเคยพบกับปัญหาข้อมูลไม่เท่ากันในแต่ละ class หรือที่เรียกว่า Imbalance data set แน่นอนว่าหากเราเอาข้อมูลที่มีปริมาณแตกต่างกันอย่างชัดเจนนั้น มาเรียนรู้ด้วยวิธีการจำแนกประเภท เราย่อมได้โมเดลที่รู้จำรูปแบบของข้อมูลที่มีปริมาณมากได้เป็นอย่างดี ทำอย่างไรดีถึงจะได้โมเดลที่เป็นกลาง ? วิธีการหนึ่งที่ช่วยแก้ปัญหา Imbalance data set ได้ คือการทำ Undersampling หรือบางทีก็เรียกว่า Down Sampling เป็นวิธีการลดจำนวนข้อมูลของ class ที่เป็นเสียงข้างมาก (majority class) ให้น้อยลงจนมีปริมาณพอๆ กับ class ที่เป็นเสียงข้างน้อย (minority class) อย่างมีหลักการ หรืออีกวิธีหนึ่งที่เป็นเหมือนกระจกเงา คือวิธีการที่เรียกว่า Oversampling หรืออีกชื่อหนึ่งคือ Up Sampling ซึ่งเป็นวิธีการในการเพิ่มจำนวนข้อมูลของ class ที่เป็น minority ให้มีปริมาณข้อมูลใกล้เคียงกับ class ที่เป็น majority นั่นเอง
1. Load ข้อมูลที่เป็น Imbalance dataset เข้าไปใน weka
2. Tab Preprocess > Filter > supervised > instance > SMOTE
| classValue | เป็นการระบุว่า class ลำดับที่เท่าไร ที่เป็น class ส่วนน้อย (minority class) ซึ่ง algorithm SMOTE จะใช้ในการพิจารณาเพื่อเพิ่มจำนวนข้อมูล (หากระบุค่าเป็น 0 ระบบจะ detect minority class ให้อัตโนมัติ) |
| nearestNeighbors | algorithm SMOTE จะพิจารณาจำนวนสมาชิกที่อยู่ใกล้กับข้อมูลของ class minority ที่จะถูกใช้ในการทำ oversampling ตามจำนวนที่ระบุใน nearestNeighbors |
| percentage | จำนวนข้อมูลที่เพิ่มขึ้น เช้น ถ้าระบุ 100% ระบบสร้างข้อมูลใหม่เท่ากับจำนวนข้อมูลของ minority class เป็นต้น พูดง่ายๆ ว่า ถ้าจำนวน minority class มี 10 instances ระบบจะสร้างข้อมูลใหม่เพิ่มอีก 10 instances ค่ะ |
| randomSeed | เป็นการระบุค่าเริ่มต้นให้กับตัวแปร random ของ algorithm SMOTE |
เรื่องที่เกี่ยวข้อง
- การทำเหมืองข้อความ (Text Mining)
- ผลการวิเคราะห์ด้วยเทคนิค Classification ใน Weka
- New !!! เปิดอบรมเชิงปฏิบัติการ Introduction to Data Mining (Workshop with WEKA) รุ่นที่ 4 (วันที่ 4 - 5 ก.ย. 2553)
- ภาพบรรยากาศการอบรมหลักสูตร Data Mining with WEKA รุ่นที่ 11 จัดโดย www.open-miner.com
- Open Miner Intelligence ได้รับเชิญให้ไปอบรม Weka รุ่นที่ 3