แม่น้ำเป็นห้องสมุด Python สำหรับการเรียนรู้ของเครื่องออนไลน์ มันมีจุดมุ่งหมายที่จะเป็นไลบรารีที่ใช้งานง่ายที่สุดสำหรับการเรียนรู้ของเครื่องเกี่ยวกับการสตรีมข้อมูล แม่น้ำเป็นผลมาจากการควบรวมกิจการระหว่าง Creme และ Scikit-Multiflow
เป็นตัวอย่างอย่างรวดเร็วเราจะฝึกการถดถอยโลจิสติกเพื่อจำแนกชุดข้อมูลฟิชชิ่งของเว็บไซต์ นี่คือการสังเกตครั้งแรกในชุดข้อมูล
>>> จาก pprint นำเข้า pprint >>> จากชุดข้อมูลนำเข้าแม่น้ำ >>> ชุดข้อมูล = dataSets.phishing () >>> สำหรับ x, y ในชุดข้อมูล: ... pprint (x) ... พิมพ์ (y) ... break {'Age_of_domain': 1, 'Anchor_from_other_domain': 0.0, 'emport_server_form_handler': 0.0, 'https': 0.0, 'ip_in_url': 1, 'is_popular': 0.5, 'long_url': 1.0 : 0.0, 'request_from_other_domain': 0.0} true
ตอนนี้ลองเรียกใช้โมเดลบนชุดข้อมูลในแฟชั่นสตรีมมิ่ง เราเรียงลำดับการคาดการณ์และการอัปเดตแบบจำลองตามลำดับ ในขณะเดียวกันเราอัปเดตตัวชี้วัดประสิทธิภาพเพื่อดูว่าโมเดลทำได้ดีแค่ไหน
>>> จากการนำเข้าแม่น้ำมาแต่ง >>> จากการนำเข้าแม่น้ำ linear_model >>> จากตัวชี้วัดการนำเข้าแม่น้ำ >>> จากการนำเข้าแม่น้ำนำเข้าล่วงหน้า >>> model = pospose.pipeline ( ... preprocessing.standardscaler (),,, ... linear_model.logisticregression () ... ) >>> metric = metrics.Ucuracy () >>> สำหรับ x, y ในชุดข้อมูล: ... y_pred = model.predict_one (x) # ทำการทำนาย ... metric.update (y, y_pred) # อัปเดตตัวชี้วัด ... model.learn_one (x, y) # ทำให้โมเดลเรียนรู้ >>> metricacuracy : 89.28%
แน่นอนนี่เป็นเพียงตัวอย่างที่วางแผนไว้ เรายินดีต้อนรับคุณที่จะตรวจสอบส่วนบทนำของเอกสารสำหรับการสอนที่ละเอียดยิ่งขึ้น
แม่น้ำมีจุดประสงค์เพื่อทำงานกับ Python 3.8 ขึ้นไป การติดตั้งสามารถทำได้ด้วย pip
:
PIP Install River
มีล้อสำหรับ Linux, MacOS และ Windows ซึ่งหมายความว่าคุณส่วนใหญ่อาจไม่ต้องสร้างแม่น้ำจากแหล่งที่มา
คุณสามารถติดตั้งเวอร์ชันการพัฒนาล่าสุดจาก GitHub ได้:
PIP ติดตั้ง git+https: //github.com/online-ml/river ---umgrade PIP ติดตั้ง git+ssh: //[email protected]/online-ml/river.git-อัปเกรด # โดยใช้ SSH
วิธีนี้ต้องมี Cython และ Rust ติดตั้งบนเครื่องของคุณ
แม่น้ำให้การใช้งานออนไลน์ของอัลกอริทึมครอบครัวต่อไปนี้:
โมเดลเชิงเส้นพร้อมออฟูชันที่หลากหลาย
ต้นไม้ตัดสินใจและป่าสุ่ม
(โดยประมาณ) เพื่อนบ้านที่ใกล้ที่สุด
การตรวจจับความผิดปกติ
การตรวจจับดริฟท์
ระบบแนะนำ
การพยากรณ์อนุกรมเวลา
โจร
เครื่องแยกส่วน
การเรียนรู้ที่ไม่สมดุล
การจัดกลุ่ม
การบรรจุถุง/การเพิ่ม/ซ้อน
การเรียนรู้อย่างแข็งขัน
แม่น้ำยังให้บริการสาธารณูปโภคออนไลน์อื่น ๆ :
การแยกและการเลือกคุณสมบัติ
สถิติและตัวชี้วัดออนไลน์
การประมวลผลล่วงหน้า
ชุดข้อมูลในตัว
การตรวจสอบโมเดลแบบก้าวหน้า
โมเดลท่อ
ตรวจสอบ API เพื่อดูภาพรวมที่ครอบคลุม
คุณควรถามตัวเองว่าคุณต้องการการเรียนรู้ของเครื่องออนไลน์หรือไม่ คำตอบนั้นน่าจะไม่ การเรียนรู้แบทช์ส่วนใหญ่ทำงานได้ดี วิธีการออนไลน์อาจพอดีกับบิลถ้า:
คุณต้องการรูปแบบที่สามารถเรียนรู้จากข้อมูลใหม่โดยไม่ต้องทบทวนข้อมูลที่ผ่านมา
คุณต้องการโมเดลที่มีความแข็งแกร่งในการดริฟท์แนวคิด
คุณต้องการพัฒนาโมเดลของคุณในลักษณะที่ใกล้เคียงกับสิ่งที่เกิดขึ้นในบริบทการผลิตซึ่งมักจะอิงตามเหตุการณ์
ความจำเพาะบางอย่างของแม่น้ำคือ:
มันมุ่งเน้นไปที่ความชัดเจนและประสบการณ์ของผู้ใช้มากกว่าประสิทธิภาพ
มันเร็วมากในการประมวลผลตัวอย่างทีละตัวอย่าง ลองดูสิคุณจะเห็น
มันเล่นได้ดีกับระบบนิเวศที่เหลือของ Python
เอกสาร
แพ็คเกจเผยแพร่
การเรียนรู้ที่ยอดเยี่ยม
2022 การนำเสนอที่ Gaia
การจัดกลุ่มออนไลน์: อัลกอริทึมการประเมินผลการวัดแอปพลิเคชันและการเปรียบเทียบจาก KDD'22
อย่าลังเลที่จะมีส่วนร่วมในแบบที่คุณต้องการเรามักจะเปิดรับแนวคิดและแนวทางใหม่ ๆ
เปิดการสนทนาหากคุณมีคำถามหรือสอบถามใด ๆ มีประโยชน์มากกว่าที่จะถามคำถามของคุณในที่สาธารณะแทนที่จะส่งอีเมลส่วนตัวถึงเรา นอกจากนี้ยังได้รับการสนับสนุนให้เปิดการสนทนาก่อนที่จะมีส่วนร่วมเพื่อให้ทุกคนได้รับการจัดตำแหน่งและหลีกเลี่ยงงานที่ไม่จำเป็น
รู้สึกยินดีที่จะเปิดปัญหาหากคุณคิดว่าคุณเห็นข้อผิดพลาดหรือปัญหาประสิทธิภาพ
แผนงานของเราเป็นสาธารณะ อย่าลังเลที่จะทำงานกับทุกสิ่งที่ดึงดูดสายตาของคุณหรือเพื่อให้คำแนะนำ
โปรดตรวจสอบแนวทางการบริจาคหากคุณต้องการนำการแก้ไขไปยังฐานรหัส
หากแม่น้ำมีประโยชน์กับคุณและคุณต้องการอ้างถึงสิ่งพิมพ์ทางวิทยาศาสตร์โปรดดูเอกสารที่ตีพิมพ์ที่ JMLR:
@article {montiel2021river, title = {แม่น้ำ: การเรียนรู้ของเครื่องจักรสำหรับการสตรีมข้อมูลใน Python}, ผู้แต่ง = {Montiel, Jacob และ Halford, Max และ Mastelini, Saulo Martiello และ Bolmier, Geoffrey และ Sourty, Raphael และ Vaysse, Robin และ Zouitine, Adil และ Gomes, Heitor Murilo และ Read, Jesse และ Abdessalem, Talel และอื่น ๆ }, ปี = {2021}}}
แม่น้ำเป็นซอฟต์แวร์ฟรีและโอเพนซอร์ซที่ได้รับอนุญาตภายใต้ใบอนุญาต BSD 3 ข้อ