การฝึกอบรมชุดย่อยของตัวแยกประเภท scikit-learn โดยที่ฉันจัดเตรียมชุดย่อยไว้

ฉันมีชุดข้อมูลขนาดใหญ่มากที่ไม่สามารถโหลดลงในหน่วยความจำได้

ฉันต้องการใช้ชุดข้อมูลนี้เป็นชุดการฝึกอบรมของตัวแยกประเภท scikit-learn เช่น LogisticRegression

มีความเป็นไปได้ที่จะทำการฝึกอบรมชุดย่อยของตัวแยกประเภท scikit-learn ที่ฉันจัดเตรียมชุดย่อยไว้หรือไม่


person Ulderique Demoitre    schedule 25.10.2017    source แหล่งที่มา


คำตอบ (2)


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

หากคุณสนใจที่จะทำสิ่งนี้เป็นพิเศษสำหรับการถดถอยลอจิสติก คุณจะต้องใช้ SGDClassifier ซึ่งสามารถตั้งค่าให้ใช้การถดถอยโลจิสติกเมื่อ loss = 'log'

คุณเพียงแค่ส่งคุณสมบัติและป้ายกำกับสำหรับมินิแบทช์ของคุณไปที่ partial_fit ในลักษณะเดียวกับที่คุณใช้ fit:

clf.partial_fit(X_minibatch, y_minibatch)

อัปเดต:

ฉันเพิ่งเจอ dask-ml ไลบรารี่ ซึ่งจะทำให้งานนี้ง่ายมากโดยการรวมอาร์เรย์ dask เข้ากับ partial_fit มีตัวอย่างอยู่ในหน้าเว็บที่เชื่อมโยง

person Angus Williams    schedule 25.10.2017
comment
คุณยังสามารถใส่อินสแตนซ์ LogisticRegression ได้บางส่วนอีกด้วย - person Robin; 16.01.2020

ดูกลยุทธ์การปรับขนาดที่รวมอยู่ในเอกสารประกอบ sklearn: http://scikit-learn.org/stable/modules/scaling_strategies.html

ตัวอย่างที่ดีมีอยู่ที่นี่: http://scikit-learn.org/stable/auto_examples/applications/plot_out_of_core_classification.html

person elson serrao    schedule 25.10.2017