สำหรับปัญหาการจำแนกถ้าตัวแปรคลาสมีการกระจายที่ไม่เท่ากันเราควรใช้เทคนิคใด?


10

สำหรับเช่น ถ้าฉันมีการให้คะแนนเครดิตระดับตัวแปรโดยมีสองคลาสดีและไม่ดีโดยที่ # (ดี) = 700 และ # (ไม่ดี) = 300 ฉันไม่ต้องการย่อข้อมูลของฉันให้สั้นลง ฉันควรใช้เทคนิคใด ฉันใช้ SVM แต่มันให้ผลดีกับการคาดการณ์ทั้งหมด


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

ชุดข้อมูลของฉันมีตัวทำนาย 17 ตัว (3 หมวดหมู่อย่างต่อเนื่องและหมวดหมู่ 14 หมวด) ตัวแปรชั้น 1 อย่างเห็นได้ชัดและผลสรุปรวม 1,000 รายการ ช่วงความถี่ สำหรับคลาส var ด้วยรถไฟและการทดสอบคือรถไฟ (ไม่ดี) = 197 ทดสอบ (ไม่ดี) = 103, ไตร (ดี) = 446 ทดสอบ (ดี) = 254
asad.taj

คำตอบ:


6

ขนาดตัวอย่างชั้นเรียนของคุณดูเหมือนไม่สมดุลกันเนื่องจากคุณมีข้อสังเกต 30% ในชั้นเรียนส่วนน้อยของคุณ การถดถอยโลจิสติกควรทำงานได้ดีในกรณีของคุณ ขึ้นอยู่กับจำนวนผู้ทำนายที่เข้าสู่แบบจำลองของคุณคุณอาจพิจารณาการลงโทษสำหรับการประมาณค่าพารามิเตอร์บางอย่างเช่นสันเขา (L2) หรือลาสโซ (L1) สำหรับภาพรวมของปัญหากับคลาสที่ไม่สมดุลมากดู Cramer (1999), The Statistics, 48: 85-94 ( PDF )

ฉันไม่คุ้นเคยกับเทคนิคการให้คะแนนเครดิต แต่ผมพบว่าเอกสารบางอย่างที่ชี้ให้เห็นว่าคุณสามารถใช้ SVM กับการเรียนถ่วงน้ำหนักเช่นการสนับสนุนเวกเตอร์เครื่องจักรสำหรับการให้คะแนนเครดิตขยายไปกรณีที่ไม่ใช่มาตรฐาน คุณสามารถดูวิธีการเพิ่มด้วย CART หรือสุ่มป่า (ในกรณีหลังเป็นไปได้ที่จะปรับกลยุทธ์การสุ่มตัวอย่างเพื่อให้แต่ละชั้นแสดงเมื่อสร้างโครงสร้างการจำแนก) กระดาษโดยโนวัคและ LADUE หารือเกี่ยวกับข้อดีและข้อเสียของGLM VS แบ่งพาร์ทิชันซ้ำ ฉันยังพบบทความนี้การสร้างดัชนีชี้วัดด้วยขนาดคลาสที่ไม่สมดุลด้วย Hand และ Vinciotti


ลิงก์สำหรับแครมเมอร์ (1999) ได้เปลี่ยนเป็นpapers.tinbergen.nl/98085.pdf
germcd

10

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

อย่างไรก็ตามในกรณีของคุณความไม่สมดุลของคลาสดูเหมือนจะไม่เป็นปัญหา อาจเป็นเรื่องของการปรับพารามิเตอร์เนื่องจากการค้นหาพารามิเตอร์ที่เหมาะสมที่สุดสำหรับตัวจําแนก SVM อาจเป็นกระบวนการที่ค่อนข้างน่าเบื่อ : มีสองพารามิเตอร์สำหรับเช่นในเคอร์เนล RBF เป็นและ\ไม่ทราบล่วงหน้าว่าและดีที่สุดสำหรับปัญหาที่กำหนดหรือไม่ ดังนั้นการเลือกรูปแบบบางอย่าง (การค้นหาพารามิเตอร์) จะต้องทำCγCγ

ในขั้นตอนการประมวลผลข้อมูลล่วงหน้าโปรดจำไว้ว่า SVM ต้องการให้แต่ละอินสแตนซ์ข้อมูลแสดงเป็นเวกเตอร์ของจำนวนจริง ดังนั้นหากมีคุณลักษณะที่หมวดหมู่แนะนำให้แปลงเป็นข้อมูลตัวเลขโดยใช้หมายเลข m เพื่อแสดงแอตทริบิวต์ m-category (หรือแทนที่ด้วย m ตัวแปรไบนารีใหม่)

นอกจากนี้การปรับขนาดตัวแปรก่อนใช้ SVM เป็นสิ่งสำคัญเช่นกันเพื่อหลีกเลี่ยงแอตทริบิวต์ในช่วงตัวเลขที่มากกว่าซึ่งมีผลต่อช่วงที่เล็กกว่า

ลองดูบทความนี้

หากคุณกำลังทำงานใน R ให้ตรวจสอบฟังก์ชั่นปรับแต่ง (แพ็คเกจ e1071) เพื่อปรับแต่งพารามิเตอร์หลายมิติโดยใช้การค้นหากริดผ่านช่วงพารามิเตอร์ที่ให้มา จากนั้นใช้ plot.tuneคุณสามารถมองเห็นได้ว่าชุดของค่าใดที่ให้อัตราความผิดพลาดน้อยลง

มีทางลัดรอบ ๆ การค้นหาพารามิเตอร์ที่ใช้เวลานาน มีแพ็กเกจ R ที่เรียกว่า "svmpath" ซึ่งคำนวณพา ธ การทำให้เป็นมาตรฐานทั้งหมดสำหรับตัวจําแนก SVM แบบ 2 คลาสในครั้งเดียว นี่คือลิงค์ไปยังกระดาษที่อธิบายสิ่งที่กำลังทำอยู่

ป.ล. คุณอาจพบว่าบทความนี้น่าสนใจ: ได้รับการประเมินความน่าจะเป็นแบบสอบเทียบ


2
+1; ยังคง ksvm จาก kernlab น่าจะเป็นการใช้งาน R SVM ที่ต้องการ ตัวอย่างเช่นมันปรับขนาดตัวแปรของตัวเองและมีกระบวนการฮิวริสติกที่ดี (= ทำงานได้ดีมาก) สำหรับการเลือก goodสำหรับ RBF γ

1

ฉันจะแนะนำให้ใช้ค่าที่แตกต่างกันของพารามิเตอร์การทำให้เป็นมาตรฐาน C สำหรับตัวอย่างของคลาสบวกและตัวอย่างของคลาสลบ (แพ็คเกจ SVM จำนวนมากสนับสนุนสิ่งนี้และในกรณีใด ๆ ก็สามารถนำไปใช้ได้อย่างง่ายดาย) จากนั้นใช้เช่นการตรวจสอบความถูกต้องข้ามเพื่อค้นหาค่าที่ดีของพารามิเตอร์การทำให้เป็นมาตรฐานสองแบบ

มันสามารถแสดงให้เห็นว่านี่เป็น asypmtotically เทียบเท่าการสุ่มตัวอย่างข้อมูลในอัตราส่วนที่กำหนดโดย C + และ C- (ดังนั้นจึงไม่มีข้อได้เปรียบในการสุ่มตัวอย่างมากกว่าการถ่วงน้ำหนักซ้ำพวกเขามาถึงสิ่งเดียวกันในตอนท้ายและน้ำหนัก สามารถต่อเนื่องมากกว่าแยกดังนั้นจึงให้การควบคุมที่ดีขึ้น)

อย่าเพียงแค่เลือก C + และ C- เพื่อให้น้ำหนัก 50-50 กับรูปแบบที่เป็นบวกและลบแม้ว่า stength ของเอฟเฟกต์ของปัญหา "คลาสที่ไม่สมดุล" จะแตกต่างจากชุดข้อมูลไปยังชุดข้อมูลดังนั้นความแข็งแรงของภาพที่ดีที่สุด น้ำหนักไม่สามารถกำหนดได้

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

นอกจากนี้ยังควรคำนึงถึงด้วยว่าสำหรับปัญหาบางอย่างกฎการตัดสินใจที่ดีที่สุดของเบย์จะกำหนดรูปแบบทั้งหมดให้กับชั้นเรียนเดียวและไม่สนใจสิ่งอื่นดังนั้นจึงไม่จำเป็นต้องเป็นเรื่องเลวร้าย - มันอาจหมายถึงความหนาแน่นของรูปแบบของ ชั้นหนึ่งอยู่ด้านล่างความหนาแน่นของรูปแบบของคลาสอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.