做開源界的MATLAB,PyMiner 需要更多熱愛開源的你加入 項目簡介 項目預覽 項目說明: 項目計劃 開發者說 如何參與項目?

MATLAB 和 Mathematica、Maple 並稱爲三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB 可以進行矩陣運算、繪製函數和數據、實現算法、創建用戶界面、連接其他編程語言的程序等。

前一段時間 MATLAB 進入實體清單實踐,也讓部分國內開發者有了危機意識,今天介紹的這款項目就是試圖打造「開源界的 MATLAB」,目前項目剛剛起步,還需要更多熱愛開源或 MATLAB\PyQt\Python 的技術大牛加入。

項目名稱:PyMiner

項目作者:py2cn

開源許可協議:GPL-3.0

項目地址https://gitee.com/py2cn/pyminer

項目簡介

PyMiner 是一款數據處理、數據分析、數據建模、數據評估、數據可視化的工具,基本目的是使pandas、sklearn的操作進行可視化,用更加易於操作的形式完成數據科學家相關工作。

項目開發環境基於Window 10 x64,使用 Python3.8+PyQt5.15+Pycharm 進行技術開發。

項目預覽

項目說明:

爲什麼要做這個項目?目的是什麼?

2020年6月6日開始,哈工大等中國高校被禁用MATLAB。在此之前我們發現在工業軟件、行業軟件除了MATLAB以外,還有SAS、SPSS、FICO、Adobe等都是我們高度依賴且無法替代的行業軟件。 爲此,這個項目的根本目標就是實現MATLAB替代,短期內至少是實現在某一方面的替代,並逐步實現超越MATLAB,並以拋轉引玉的形式,讓更多人加入到國產替代的行列中!PyMiner堅持對標國際一流,實現面向未來的設計,以自主創新爲戰略基石,積極吸收凝聚國內外各種優勢資源和創新要素,致力於突破掌握一批數據算法模型以及仿真領域研製關鍵技術!

爲什麼是用python開發,爲什麼不選C++ C# java或者其他?

在選定python之前,我們考慮過包括c++、c#、java、eletron等多種開發方案去實現國產的MATLAB,甚至我們在曾經使用c#開發過一段時間後又重新啓用python來完成這項工作。 python有豐富而成熟的外部擴展,開發者數量衆多,且代碼結構清晰,開發效率高等優點,爲了儘快實現國產開源的matlab,能夠進行實際使用,並在之後吸引廣大的開發者、算法工程師、數據科學家參與進來,我們選擇使用python,並且我們將支持c++等語言進行擴展提高產品性能。 需要說明的是,我們團隊中也有很多C++大牛,也有C++項目小分隊,如果你在C++領域並希望參與到項目中來並貢獻自己的一份力量,我們殷切歡迎!

有沒有高校或者機構跟你們合作?

我們很希望能夠跟高校或機構進行合作,但是目前爲止,除了開發組QQ羣中以個人身份參與的學生或者老師,暫時沒有任何高校或機構與本項目進行合作。

你們有沒有考慮過做仿真或Simulink?

項目從最初構想時就已經規劃開發仿真系統,但是限於開發組人員有限,目前雖已成立仿真開發小組,但目前進度非常有限,希望更多有志之士能夠加入!

你們的方向是怎麼樣的?

我們方向是先做通用型的類MATLAB工具,比如我們會優先實現MATLAB中使用頻率最高的功能,在通用模塊(數據處理、數據分析、數據可視化等)基礎上,逐步添加有行業針對性的功能模塊。

目標用戶羣體是怎樣的?

我們的目標羣體是MATLAB的淺度用戶和python數據科學家相關用戶,例如數據相關行業的基本用戶(醫療分析、金融、製造等行業的數據分析師、數據科學家等),在此基礎上,我們希望不斷添加行業特有的功能模塊實現逐個行業方向的實現並替代MATLAB。

目標使用場景是怎樣的?

在產品開發初期,我們設想的使用場景是行業通用的數據處理和數據分析,例如公司內部用戶數據的處理分析、金融行業的用戶風險分析、醫療行業的數據分析等基本數據科學相關場景。

爲什麼叫PyMiner?

目前爲止這已經是該項目的第5個名字,從之前的PythonEnv、PandaStudio、PyStudio、Patata到現在的PyMiner。總體上可以看出是基於Python以及是平臺化跟挖掘數據價值相關的項目。PyMiner的意思我自己解釋爲一個將Python作爲工具的淘金者。

項目的中文名叫什麼?

PyMiner項目的中文名暫定爲泊宇(po yu)項目,即根據PyMiner首字母做的拼音化轉義,另外,也有像宇宙開船,向更廣闊的天地前進的意思,而且也有“迫於***”的含義,表達了作者希望牢記使命,不斷進取的理念!

項目計劃

目前我們已經做了哪些內容?

目前我們已經確定了整體的架構形式python+pyqt,完成了界面重構(例如ribbon菜單,dockwidget控件改造),編輯器、控制檯、插件管理器、工作空間等核心內容的開發建設。

下一步的工作計劃是什麼?

下一步我們將首先繼續完成並優化插件管理器的窗口化設計,進一步優化workspace工作區間的可視化設計與實現。 此外:

  1. 在下一個里程碑計劃中,預計我們將實現核心功能插件的demo,例如數據處理,數據分析。

  2. 我們將和更多算法工程師一起基於numpy構建我們的基礎算法庫。

  3. 我們將基於gitbook建立社區文檔管理系統,讓開發者、算法工程師、數據科學家一起豐富產品文檔內容。

  4. 我們將基於官網py2cn.com,建立插件商店,讓用戶能夠上傳插件,查詢插件。

里程碑計劃

· V1 里程碑是2020.09.30,核心組件全部構建完成,UI框架確定,兩個插件demo(數據分析,數據處理)

· V1.1里程碑是2020.10.30,完善核心功能,數據處理完成常見場景插件,數據分析完成至少2個demo(描述統計+t檢驗或其他)插件,數據可視化相關功能完成至少兩個demo(2D,3D),算法模型插件完成至少一個demo

· V1.2里程碑是2020.11.30,完善核心功能,數據分析完成常見場景插件,數據可視化相關功能完成全部常見場景,算法模型插件完成常見場景

· V1.3里程碑是2020.12.30,完善核心功能,補充完成數據處理、數據分析、數據可視化、數據建模、模型評估常見場景

· V2 里程碑是2021.01.30,基本功能實現,接口文檔齊全,可以支持跨行業插件開發

開發者說

PyMiner 的落地,離不開廣大的算法工程師的羣智,而目前國內搞算法這一塊的,基本上Python 語言是主流的,C++ 速度確實是快,當然我本身就是搞 C++ 的,但是它入門門檻略高,開發效率慢,而且更重要的一點是,如果代碼質量良莠不齊,速度其實也很一般。現在PyMiner 剛剛起步,缺技術人才的支持,更缺做事的人,在這種情況下,我們只能給各個行業的精英,起到搭建起我們的平臺,給牛人發揮的舞臺的作用,因此,能起到最便捷的橋樑作用的,就是 Python 了。當然,後期是否用 C++ 重構,則要看多方面因素了。我們 PyMiner 團隊希望就 PyMiner 拋個磚,能吸引更多技術人才和做事的人共同實現國產開源 MATLAB 的目標。

如何參與項目?

前言

爲了更便於推進項目,需要了解各位擅長的工作內容,請各位羣友修改自己的備註爲:方向+暱稱,例如pyqt_tom_coffce

加入小組

目前開發組已經有pyqt、算法、仿真、插件、網站、c++、項目管理多個小分隊,有意向在任意領域進行參與貢獻的小夥伴請直接加入小分隊QQ羣!

· PyMiner開發者QQ總羣:945391275

· pyqt小分隊:907932713

· 算法小分隊:605160230

· 仿真小分隊:915736652

· 插件小分隊:689417488

· C++小分隊:205591506

· 網站小分隊:1131420577

· 項目管理小分隊:827058366

參與貢獻

要真正的參與項目,除了需要了解自身特長之外,還需要了解這個項目的基本情況。在Wiki的“ 項目說明 ”我們有對項目的背景做一些介紹,在“ 項目計劃 ”中我們對當前我們正在做的事情以及下一步的項目計劃做了概要性描述。

如果你是偏產品經理和需求分析師方面的,想要爲項目做些貢獻,我們希望你能對matlab多一些認識,畢竟我們的目標是進行matlab替代。在此基礎上,希望你能幫助我們進行需求分解,將matlab的功能模塊按照重要性、優先級進行細化分解,以便我們能夠更專注於細節進行實現。

如果你是偏qt pyqt python 方向的,想要在PyMiner的界面UI或功能方面進行參與,我們也很希望你能真正的參與到項目的代碼貢獻當中。在這之前你可能還需要了解我們的代碼結構(在wiki的“ 開發者指南 ”中我們會有相應介紹),編碼規範(在wiki的“ 編程規範 ”中)。

如果你是仿真方向或對Sumlink有所研究,除了項目基礎信息之外,你還需要了解項目的插件系統,目前在PyMiner中,更多功能將以插件的形式進行提供。而插件我們支持使用Python或c++等多種方式進行開發。

如果你是算法工程師,你將是這個項目的非常重要參與者,甚至可以說,我們的未來非常依賴你們的參與,而在PyMiner中,算法工程師的貢獻,也將主要通過插件的形式進行完成,爲此我們需要算法工程師和其他開發者齊心協力進行合作, 由算法進行後臺計算並設計輸入參數和輸出形式,而pyqt開發者進行插件化改造實現 ,最終將算法以插件的形式對外提供

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章