自製高擴充性機器學習系統

摘要

機器學習領域中,除了演算法之外有很大部分是工程方面的問題,像是建模錯誤處理、流程自動化、不同階段的可擴充性等等。整個流程包含資料讀取、前處理、建模與預測,甚至是模型管理部分,藉由定義不同介面搭配任務排程,可以讓使用者自行組合機器學習的流程以及自行實作不同模組與資料處理方式等。
此系統設計參考 Rapidminer 的使用方式,建議有資料分析與機器學習流程的背景知識。

說明

參考 Rapidminer 的使用流程,利用 OOP 設計理念定義每個介面與錯誤處理,每個模組使用 Pandas/Sklearn 實作,透過 Celery 進行任務排程,最後使用 Flask 來實作 API 接口。 ### 參考工具 - [rapidminer] Data Mining 工具 ### 使用的第三方工具: - [celery] Python 排程管理套件 - [flask] Python 網站框架 - [pandas] Python 資料分析套件 - [sklearn] Python 機器學習套件 [celery]: www.celeryproject.org/ [flask]: http://flask.pocoo.org [pandas]: https://pandas.pydata.org/ [sklearn]: http://scikit-learn.org/stable/ [rapidminer]: https://rapidminer.com/

Slides

https://docs.google.com/presentation/d/1zEi1exDDO5hFSPXfCU0aelRLBwv8elr1UzG9iUO2zJA/edit?usp=sharing

講者

徐愷

喜歡科技的小小工程師

曾譯平

MoBagel - Data Scientist