GitHub上排名前10的機器學習項目,包括一些庫、框架和教育資源。讓我們一起學習一下這些工具和資源。
關于轉載授權
大數據文摘作品,歡迎個人轉發朋友圈,自媒體、媒體、機構轉載務必申請授權,后臺留言“機構名稱+文章標題+轉載”,申請過授權的不必再次申請,只要按約定轉載即可,但文末需放置大數據文摘二維碼。
選文:孫強
整理翻譯:孫強,HeHe, Dr Guo, Mano
原文鏈接:http://www.kdnuggets.com/2015/12/top-10-machine-learning-github.html/2
摘要:GitHub上排名前10的機器學習項目,包括一些庫、框架和教育資源。讓我們一起學習一下這些工具和資源。
10個項目被點贊和ForK的數量代表了它們受歡迎的程度(文中★表示點贊,Y表示Fork)
開源軟件是數據科學拼圖中重要的一塊。根據最近KDnuggets對數據科學軟件所做的調查結果,過去的12個月內,有73%的數據科學家使用的是免費軟件。雖然互聯網有很多免費軟件來源,Github已然成為所有開源軟件的信息交流中心,包括那些用于在數據科學界的工具。機器學習對于數據科學而言,其重要性和中心地位,不言而喻。以下所列,是Github上排名前10位的機器學習項目的概況。
ScikitLearn
★ 8641, Y 5125
基于Python的機器學習
毫無懸念地,列為十大項目之首的,是服務于遍布全世界從工業到學術界的Python使用者們的機器學習庫。基于NumPy, SciPy和matplotlib,ScikitLearn最大化了Python的科學計算能力。作為通用的工具包,ScikitLearn包含了分類、回歸和聚類算法,以及數據準備和模型評估等輔助工具。
鏈接:https://github.com/scikit-learn/scikit-learn
Awesome機器學習
★ 8404, Y 1885
一系列Awsome機器學習的框架、庫和軟件的整合列表。
該列表首先根據語言進行分類,然后由機器學習類別(如通用,計算機視覺,自然語言處理等等)進一步細分。它還包括了數據可視化工具,從某種意義上說,這使得它更多被視為一個通用的機器學習方法。這不失為一件好事。
鏈接:https://github.com/josephmisiti/awesome-machine-learning
PredictionIO
★ 8145, Y 1002
PredictionIO 是開發人員和ML工程師的機器學習服務器, 構建于Apache Spark, HBase 和 Spray之上。
PredictionIO是一個通用的框架。它包括多個服務于幾個常見任務的模塊,如可定制的分類和建議,并通過REST API或SDK與現有應用程序相連接,還包括對Spark MLib的支持。因為它是建立在Spark之上,并利用Spark的生態系統,毫無懸念地,PredictionIO主要是由Scala開發而來。
鏈接:https://github.com/PredictionIO/PredictionIO
Dive Into Machine Learning (潛入式機器學習)
★ 4326, Y 342
基于Jupyter notebook和ScikitLearn的交互式機器學習資源
該項目集合了服務于ScikitLearn的IPython的筆記本電腦教程和大量鏈接,指向特定的Python相關的和一般的機器學習主題,以及更為廣泛的數據科學信息。開發者很大度,指出如果該項目不適合你,他們還包括了許多其他類似的教程。如果你是Python機器學習的新手,千萬別錯過該項目。
鏈接:https://github.com/hangtwenty/dive-into-machine-learning
Pattern
★ 3799, Y 598
Python網絡挖掘模塊,包括抓取工具、自然語言處理、機器學習、網絡分析及可視化。
Pattern是一個基于Python的網絡挖掘工具包,來自于安特衛普大學的計算語言學和心理語言學研究中心。它的主要作用是數據抓取、機器學習、自然語言處理、網絡分析和可視化。Pattern能從幾個知名的網絡服務器中較易地挖掘數據。該項目有很成熟的開發記錄,還包括了大量的例子和單元測試。
鏈接:https://github.com/clips/pattern
NuPIC (Numenta智能處理平臺)
★ 3647, Y 987
是一種腦力激發機器智能平臺,具有基于腦皮質性學習算法的生物學準確性神經網絡。
NuPIC實現了分層時間內存( Hierarchical Temporal Memory, 簡稱HTM)機器學習算法。HTM嘗試模擬大腦皮層算法,旨在專注于存儲和記憶時空模式。NuPIC適合于模式相關的異常檢測。
鏈接:https://github.com/numenta/nupic
Vowpal Wabbit
★ 2949, Y 827
Vowpal Wabbit是一個機器學習系統,旨在推動機器學習技術的發展,如聯網、散列法、歸約、搜索學習2、主動以及相互學習。
Vowpal Wabbit的用途是迅速處理大規模數據庫集并支持并行學習。該項目開始于雅虎,目前在微軟研發。Vowpal Wabbit利用核外 (out-of-core) 分布式學習,曾經在一個小時內用1000個計算節點處理terabyte級別的 特征的數據集。
鏈接:https://github.com/JohnLangford/vowpal_wabbit
Aerosolve
★2538,Y 245
專為人類設計的機器學習軟件包。
aerosolve評論
試圖與其他庫管理程序不同,Aerosolve注重人性化的調試工具,運用Scala代碼進行訓練,利用圖像內容分析引擎,達到便于圖像排名的目的,并通過功能轉換語言為用戶提供靈活性和控制功能。 Aerosolve實現了基于Thrift(譯者注:Thrift 是Apache開發的多語言協作平臺)特征呈現,在Aerosolve中,特征會按照邏輯分組,可以一次性地對整個特征組進行轉換,或者將兩個不同的特征簇組合到一起創建新的特征簇。
鏈接:http://airbnb.github.io/aerosolve/
GoLearn: 基于谷歌Go預言的機器學習項目
★2334,Y 215
GoLearn是一個為谷歌Go 語言開發的程序庫。
其目標是為開發者提供一個功能全面、簡單易用、可定制的軟件包。 GoLearn實現了ScikitLearn的許多熟悉的擬合/預測算法,可以很容易調換機器學習算法,并實現了交叉驗證和訓練/測試分組之類的“輔助功能”。
鏈接:https://github.com/sjwhitworth/golearn
黑客的機器學習代碼 (Machine Learning for Hackers)
★ 2003, Y 1446
“黑客的機器學習(Machine Learning for Hackers)“一書的伴隨代碼。
此項目包含來自O'Reilly的書《黑客的機器學習》的所有代碼。所有代碼均為R語言,依靠眾多的R程序包,涉及主題包括分類(Classification),排行(Ranking),以及回歸(Regression)的所有常見的任務,以及統計方法,如主成分分析(PCA)和多維尺度(Multi-dimenstional Scaling)等。