การสุ่มตัวอย่างใหม่และน้ำหนักคลาส
ปรับสมดุลด้วยโค้ด ไม่ใช่ข้อมูลที่เพิ่มขึ้น
การสุ่มตัวอย่างใหม่และน้ำหนักคลาส เป็นบทเรียน NLP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน NLP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส NLP Academy มีบทเรียนทั้งหมด 4 บทเรียน
สองวิธีปรับสมดุลใหม่
คุณแก้ความเบ้ได้ด้วยการเปลี่ยนข้อมูลผ่านการสุ่มตัวอย่างใหม่ หรือเปลี่ยนการคำนวณด้วยน้ำหนักของคลาส ทั้งสองวิธีช่วยดึงความสนใจไปยังคลาสที่พบได้น้อย
เพิ่มตัวอย่างของคลาสส่วนน้อย
การเพิ่มตัวอย่างจะคัดลอกหรือสร้างตัวอย่างที่พบได้น้อยขึ้นมา เพื่อให้คลาสต่าง ๆ เข้าใกล้สมดุล ทำให้โมเดลมีข้อมูลให้เรียนรู้มากขึ้น
ลดตัวอย่างของคลาสส่วนใหญ่
การลดตัวอย่างจะลบตัวอย่างของคลาสส่วนใหญ่ออกบางส่วนแทน วิธีนี้รวดเร็วและใช้ทรัพยากรน้อย แต่คุณอาจทิ้งสัญญาณที่มีประโยชน์ไป
SMOTE สำหรับคุณลักษณะข้อความ
SMOTEสร้างจุดข้อมูลใหม่ของคลาสส่วนน้อยระหว่างจุดจริงในปริภูมิคุณลักษณะ แทนการทำซ้ำ จึงทำให้โมเดลเห็นความหลากหลายใหม่ ๆ
from imblearn.over_sampling import SMOTE
X_bal, y_bal = SMOTE().fit_resample(X, y)สุ่มตัวอย่างใหม่เฉพาะข้อมูลฝึก
ปรับสมดุลเฉพาะชุดข้อมูลฝึกเสมอ การแตะต้องชุดทดสอบจะทำให้คะแนนดูดีปลอม ๆ และซ่อนประสิทธิภาพที่แท้จริง
แนวคิดเรื่องการถ่วงน้ำหนัก
แทนที่จะย้ายข้อมูล คุณสามารถทำให้ความผิดพลาดแต่ละครั้งของคลาสที่พบได้น้อยมีผลมากขึ้น น้ำหนักของคลาสที่สูงขึ้นจะผลักให้ค่าความสูญเสียใส่ใจกับคลาสส่วนน้อย
สมดุลได้ในบรรทัดเดียว
โมเดลของ scikit-learn หลายแบบยอมรับ class_weight ให้ตั้งค่าเป็น balanced แล้วระบบจะคำนวณน้ำหนักแบบผกผันกับความถี่ของคลาส
clf = LogisticRegression(class_weight='balanced')น้ำหนักแบบสมดุลทำงานอย่างไร
การถ่วงน้ำหนักแบบสมดุลจะปรับสเกลแต่ละคลาสตามส่วนกลับของความถี่ ดังนั้นป้ายกำกับที่พบได้น้อยจึงมีน้ำหนักเสมือนนับมากขึ้นหลายเท่า
น้ำหนักเทียบกับการสุ่มตัวอย่างใหม่
น้ำหนักของคลาสใช้ทรัพยากรน้อยและรักษาข้อมูลเดิมไว้ ขณะที่การสุ่มตัวอย่างใหม่อาจจับรูปแบบที่หลากหลายกว่า ลองใช้น้ำหนักก่อน
ระวังการเรียนรู้เกินพอดี
การเพิ่มตัวอย่างอย่างรุนแรงอาจทำให้โมเดลจดจำตัวอย่างที่พบได้น้อย ตรวจสอบกับข้อมูลที่ไม่เคยแตะต้องเพื่อจับการเรียนรู้เกินพอดีตั้งแต่เนิ่น ๆ
เลือกหนึ่งวิธีแล้ววัดผล
ไม่มีวิธีใดชนะเสมอไป เลือกวิธีหนึ่งแล้วประเมินด้วยความครอบคลุมของคลาสส่วนน้อย ไม่ใช่ความแม่นยำดิบ 🎯
ตรวจสอบอย่างรวดเร็ว
เลือกแนวทางการปรับสมดุลที่ปลอดภัยที่สุด
ทบทวน
รับมือความเบ้ด้วยการสุ่มตัวอย่างใหม่หรือน้ำหนักของคลาส ปรับสมดุลเฉพาะข้อมูลฝึก และประเมินผลด้วยความครอบคลุมของคลาสส่วนน้อย ✅
คำถามที่พบบ่อย
บทเรียน “การสุ่มตัวอย่างใหม่และน้ำหนักคลาส” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสุ่มตัวอย่างใหม่และน้ำหนักคลาส” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส NLP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส NLP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสุ่มตัวอย่างใหม่และน้ำหนักคลาส”
ปรับสมดุลด้วยโค้ด ไม่ใช่ข้อมูลที่เพิ่มขึ้น คุณปฏิบัติ NLP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน NLP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน NLP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การสุ่มตัวอย่างใหม่และน้ำหนักคลาส” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน NLP Academy นี้ได้ไหม
ได้ บทเรียน NLP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุใดคลาสที่พบได้น้อยจึงถูกละเลย
- การสุ่มตัวอย่างใหม่และน้ำหนักคลาส
- เลือกเกณฑ์ตัดสินและเมตริก
- ไปป์ไลน์ข้อมูลไม่สมดุลตั้งแต่ต้นจนจบ