imbalanced-learn เป็นแพ็คเกจ Python ที่นำเสนอเทคนิคการสุ่มตัวอย่างจำนวนมากที่ใช้กันทั่วไปในชุดข้อมูลที่แสดงถึงความไม่สมดุลระหว่างคลาสอย่างมาก มันเข้ากันได้กับ scikit-learn และเป็นส่วนหนึ่งของโครงการ scikit-learn-contrib
เอกสารการติดตั้ง เอกสาร API และตัวอย่างสามารถดูได้ในเอกสารประกอบ
การเรียนรู้ที่ไม่สมดุลต้องการการพึ่งพาดังต่อไปนี้:
หลาม (>= 3.10)
NumPy (>= 1.24.3)
วิทย์ (>= 1.10.1)
Scikit-เรียนรู้ (>= 1.2.2)
ไพเทส (>= 7.2.2)
นอกจากนี้ imbalanced-learn ต้องการการพึ่งพาเพิ่มเติมต่อไปนี้:
Pandas (>= 1.5.3) สำหรับการจัดการกับ dataframes
Tensorflow (>= 2.13.1) สำหรับการจัดการกับโมเดล TensorFlow
Keras (>= 3.0.5) สำหรับการจัดการกับโมเดล Keras
ตัวอย่างจะต้องอาศัยการขึ้นต่อกันเพิ่มเติมต่อไปนี้:
Matplotlib (>= 3.7.3)
ซีบอร์น (>= 0.12.2)
ขณะนี้ imbalanced-learn มีอยู่ในที่เก็บของ PyPi และคุณสามารถติดตั้งผ่าน pip:
pip install -U ไม่สมดุล-เรียนรู้
แพ็คเกจนี้เปิดตัวในแพลตฟอร์ม Anaconda Cloud ด้วย:
conda ติดตั้ง -c conda-forge ไม่สมดุล - เรียนรู้
หากต้องการ คุณสามารถโคลนและเรียกใช้ไฟล์ setup.py ได้ ใช้คำสั่งต่อไปนี้เพื่อรับสำเนาจาก Github และติดตั้งการอ้างอิงทั้งหมด:
โคลนคอมไพล์ https://github.com/scikit-learn-contrib/imbalanced-learn.git ซีดีไม่สมดุล-เรียนรู้ การติดตั้ง pip
โปรดทราบว่าคุณสามารถติดตั้งในโหมดนักพัฒนาซอฟต์แวร์ด้วย:
pip ติดตั้ง --no-build-isolation --editable
หากคุณต้องการส่งคำขอแบบดึงบน GitHub เราขอแนะนำให้คุณติดตั้งการคอมมิตล่วงหน้า:
pip ติดตั้งล่วงหน้า ติดตั้งล่วงหน้า
หลังการติดตั้ง คุณสามารถใช้ pytest เพื่อรันชุดทดสอบ:
ทำความคุ้มครอง
การพัฒนา scikit-learn-contrib นี้สอดคล้องกับหนึ่งในชุมชน scikit-learn ดังนั้นคุณสามารถดูคู่มือการพัฒนาได้
เรารับรองแนวปฏิบัติที่ดีจาก Scientific Python Ecosystem Coordination (SPEC) รายการคำแนะนำทั้งหมดมีอยู่ที่นี่
ดูรายการคำแนะนำที่เรารับรองด้านล่างสำหรับโครงการการเรียนรู้ที่ไม่สมดุล
หากคุณใช้ imbalanced-learn ในสิ่งพิมพ์ทางวิทยาศาสตร์ เราขอขอบคุณการอ้างอิงเอกสารต่อไปนี้:
@article{JMLR:v18:16-365, ผู้แต่ง = {Guillaume Lema{{^i}}tre และ Fernando Nogueira และ Christos K. Aridas} title = {การเรียนรู้ที่ไม่สมดุล: กล่องเครื่องมือ Python เพื่อจัดการกับคำสาปของชุดข้อมูลที่ไม่สมดุลในการเรียนรู้ของเครื่อง}, วารสาร = {วารสารการวิจัยการเรียนรู้ของเครื่อง}, ปี = {2017}, ปริมาณ = {18}, หมายเลข = {17}, หน้า = {1-5}, url = {http://jmlr.org/papers/v18/16-365} -
อัลกอริธึมการจำแนกประเภทส่วนใหญ่จะทำงานได้อย่างเหมาะสมก็ต่อเมื่อจำนวนตัวอย่างของแต่ละคลาสใกล้เคียงกันเท่านั้น ชุดข้อมูลที่บิดเบือนอย่างมาก โดยที่ส่วนน้อยมีจำนวนมากกว่าคลาสหนึ่งหรือหลายคลาสอย่างมาก ได้พิสูจน์แล้วว่าเป็นสิ่งที่ท้าทายในขณะเดียวกันก็กลายเป็นเรื่องปกติมากขึ้นเรื่อยๆ
วิธีหนึ่งในการแก้ไขปัญหานี้คือการสุ่มตัวอย่างชุดข้อมูลอีกครั้งเพื่อชดเชยความไม่สมดุลนี้ด้วยความหวังว่าจะมาถึงขอบเขตการตัดสินใจที่แข็งแกร่งและยุติธรรมมากกว่าที่คุณจะทำได้
คุณสามารถดูเอกสารประกอบการเรียนรู้ที่ไม่สมดุลเพื่อดูรายละเอียดเกี่ยวกับอัลกอริทึมที่นำไปใช้