Data Science Academy · บทเรียน

น้ำหนักคลาสและค่าเกณฑ์

ปรับโมเดลให้มุ่งไปยังคลาสส่วนน้อย

บทเรียน 3 จาก 413 ขั้นตอน

น้ำหนักคลาสและค่าเกณฑ์ เป็นบทเรียน Data Science Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Data Science Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน

แก้ปัญหาโดยไม่สุ่มตัวอย่างใหม่

คุณสามารถจัดการความไม่สมดุลได้โดยไม่แตะต้องข้อมูลเลย กลไกฝั่งโมเดลสองอย่างที่ช่วยได้คือ น้ำหนักคลาสและค่าเกณฑ์การตัดสินใจ

น้ำหนักคลาสทำอะไร

น้ำหนักคลาสบอกโมเดลว่าความผิดพลาดในคลาสหายากมีผลเสียมากกว่า โมเดลจึงถูกลงโทษหนักขึ้นเมื่อพลาดแถวของคลาสส่วนน้อย

ค่าเริ่มต้นที่ใช้ง่าย

โมเดลจำนวนมากใน scikit-learn ยอมรับ class_weight ที่ตั้งเป็น balanced ระบบจะให้น้ำหนักแต่ละคลาสโดยอัตโนมัติในทิศทางตรงข้ามกับความถี่ที่คลาสนั้นปรากฏ

model = LogisticRegression(class_weight='balanced')
model.fit(X_train, y_train)

น้ำหนักเทียบกับการสุ่มตัวอย่างใหม่

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

เกณฑ์ 0.5 ที่ซ่อนอยู่

ตัวจำแนกส่วนใหญ่จะทำนายความน่าจะเป็น แล้วกำหนดเป็นค่าบวกหากสูงกว่า 0.5 เกณฑ์เริ่มต้นนี้เป็นเพียงตัวเลือก ไม่ใช่กฎตายตัว

เลื่อนค่าเกณฑ์

ลดค่าเกณฑ์ แล้วโมเดลจะติดธงค่าบวกได้ง่ายขึ้น วิธีนี้ตรวจจับกรณีหายากได้มากขึ้น แต่ต้องแลกกับสัญญาณเตือนลวงที่เพิ่มขึ้น

ทำนายความน่าจะเป็นก่อน

หากต้องการปรับค่าเกณฑ์ ให้ขอความน่าจะเป็นจากโมเดลแทนป้ายกำกับแบบตายตัว จากนั้นใช้ค่าเกณฑ์ของคุณเองกับคะแนนเหล่านั้น

proba = model.predict_proba(X_test)[:, 1]
preds = (proba >= 0.30).astype(int)

ความสมดุลที่ต้องแลก

ค่าเกณฑ์ที่ต่ำลงช่วยเพิ่ม recall แต่ลด precision การเพิ่มค่าเกณฑ์ให้ผลตรงกันข้าม จุดที่เหมาะสมขึ้นอยู่กับว่าความผิดพลาดแบบใดมีต้นทุนสูงกว่า

ให้ต้นทุนเป็นตัวกำหนดค่าเกณฑ์

หากการพลาดการฉ้อโกงมีผลเสียมากกว่าการแจ้งเตือนลวงอย่างมาก ให้เลือกค่าเกณฑ์ที่ ต่ำลง เพื่อไม่ให้พลาดคลาสหายาก

ใช้กลไกร่วมกัน

น้ำหนักคลาสและการปรับค่าเกณฑ์ทำงานร่วมกันได้ดี ให้น้ำหนักคลาสหายากระหว่างการฝึก แล้วเลือกค่าเกณฑ์ที่สอดคล้องกับต้นทุนจริงของคุณ

ปรับให้เหมาะสม แล้วล็อกค่าไว้

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

ตรวจสอบสั้น ๆ

จะเกิดอะไรขึ้นเมื่อคุณลดค่าเกณฑ์การตัดสินใจ

ทบทวน

หากไม่สุ่มตัวอย่างใหม่ น้ำหนักคลาสจะลงโทษความผิดพลาดของคลาสหายาก ส่วนค่าเกณฑ์ที่ปรับแล้วจะแลก recall กับ precision ให้เหมาะกับต้นทุนของคุณ 🎯

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “น้ำหนักคลาสและค่าเกณฑ์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “น้ำหนักคลาสและค่าเกณฑ์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Data Science Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “น้ำหนักคลาสและค่าเกณฑ์”

ปรับโมเดลให้มุ่งไปยังคลาสส่วนน้อย คุณปฏิบัติ Data Science Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Data Science Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Data Science Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “น้ำหนักคลาสและค่าเกณฑ์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Data Science Academy นี้ได้ไหม

ได้ บทเรียน Data Science Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุใดความแม่นยำจึงหลอกเราเมื่อข้อมูลไม่สมดุล
  2. การสุ่มตัวอย่างใหม่: SMOTE และการลดตัวอย่าง
  3. น้ำหนักคลาสและค่าเกณฑ์
  4. เลือกตัวชี้วัดสำหรับเหตุการณ์ที่พบได้น้อย
← กลับไปที่ Data Science Academy