การใช้งาน Naive Bayes แบบเสริมในหลาม


9

ปัญหา

ฉันได้ลองใช้ Naive Bayes กับชุดข้อมูลอาชญากรรมที่มีข้อความ แต่ได้ผลลัพธ์ที่แย่มาก (ความแม่นยำ 7%) Naive Bayes ทำงานเร็วกว่า alogorithms อื่น ๆ ที่ฉันใช้ดังนั้นฉันจึงอยากลองค้นหาสาเหตุที่คะแนนต่ำ

วิจัย

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

หลังจากทำการวิจัยบางอย่างฉันสามารถค้นหาการนำไปใช้ใน Java แต่โชคไม่ดีที่ฉันไม่ทราบว่า Java และฉันไม่เข้าใจอัลกอริทึมที่ดีพอที่จะใช้ตัวเอง

คำถาม

ฉันสามารถหาการใช้งานในหลามได้ที่ไหน หากไม่มีอยู่ฉันควรดำเนินการด้วยตนเองอย่างไร

คำตอบ:


5

Naive Bayes ควรสามารถจัดการชุดข้อมูลที่ไม่สมดุลได้ จำได้ว่าสูตร Bayes นั้น

P(Y|x)=P(x|Y)P(Y)P(x)αP(x|Y)P(Y)

ดังนั้น P(x|Y)P(Y) ใช้เวลาก่อน P(Y) เข้าบัญชี.

ในกรณีของคุณคุณอาจจะมีความเหมาะสมและต้องการปรับให้เรียบ? คุณสามารถเริ่มต้นด้วย +1 smoothing และดูว่ามีการปรับปรุงหรือไม่ ในไพ ธ อนเมื่อใช้ numpy ฉันจะใช้วิธีนี้ให้ราบรื่น:

table = # counts for each feature 
PT = (table + 1) / (table + 1).sum(axis=1, keepdims=1)

โปรดทราบว่านี่คือการให้ Multinomial Naive Bayes แก่คุณ - ซึ่งใช้กับข้อมูลเด็ดขาดเท่านั้น

ฉันยังสามารถแนะนำลิงค์ต่อไปนี้: http://www.itshared.org/2015/03/naive-bayes-on-apache-flink.html มันเกี่ยวกับการนำ Naive Bayes ไปใช้บน Apache Flink ในขณะที่เป็น Java มันอาจจะให้ทฤษฎีบางอย่างที่คุณต้องเข้าใจอัลกอริทึมให้ดีขึ้น


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

คุณเคยดูลิงค์หรือไม่ มันอธิบายไว้ที่นั่น ในระยะสั้นเมื่อประมาณP(x|Y) บางครั้ง xไม่เคยพบเห็นระหว่างการฝึกซ้อมและการทำให้ราบลื่นทำให้มั่นใจได้ว่าจะไม่ทำลายประสิทธิภาพของตัวจําแนกโดยการเพิ่มการนับพิเศษ (ในกรณีของการหมุนรอบหรือการปรับให้เรียบ +1) กับคุณสมบัติทั้งหมด
Alexey Grigorev

0

การดำเนินงานของฉัน Complement Naive Bayes ใน scikit การเรียนรู้ที่สามารถพบได้ที่นี่

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