國外程序員整理的機器學習資源大全

英文原文:awesome-machine-learning

  本文彙編了一些機器學習領域的框架、庫以及軟件(按編程語言排序)。

  C++

  計算機視覺

  • CCV —基於C語言/提供緩存/核心的機器視覺庫,新穎的機器視覺庫

  • OpenCV—它提供C++, C, Python, Java 以及 MATLAB 接口,並支持 Windows, Linux, Android and Mac OS 操作系統。

  通用機器學習

  Closure

  通用機器學習

  Go

  自然語言處理

  • go-porterstemmer—一個 Porter 詞幹提取算法的原生 Go 語言淨室實現

  • paicehusk—Paice/Husk 詞幹提取算法的 Go 語言實現

  • snowball—Go 語言版的 Snowball 詞幹提取器

  通用機器學習

  • Go Learn— Go 語言機器學習庫

  • go-pr —Go 語言機器學習包.

  • bayesian—Go 語言樸素貝葉斯分類庫。

  • go-galib—Go 語言遺傳算法庫。

  數據分析/數據可視化

  • go-graph—Go 語言圖形庫。

  • SVGo—Go 語言的 SVG 生成庫。

  Java

  自然語言處理

  • CoreNLP—斯坦福大學的 CoreNLP 提供一系列的自然語言處理工具,輸入原始英語文本,可以給出單詞的基本形式(下面 Stanford 開頭的幾個工具都包含其中)。

  • Stanford Parser—一個自然語言解析器。

  • Stanford POS Tagger —一個詞性分類器。

  • Stanford Name Entity Recognizer—Java 實現的名稱識別器

  • Stanford Word Segmenter—分詞器,很多 NLP 工作中都要用到的標準預處理步驟。

  • Tregex, Tsurgeon and Semgrex —用來在樹狀數據結構中進行模式匹配,基於樹關係以及節點匹配的正則表達式(名字是“tree regular expressions”的縮寫)。

  • Stanford Phrasal:最新的基於統計短語的機器翻譯系統, java 編寫

  • Stanford Tokens Regex—用以定義文本模式的框架。

  • Stanford Temporal Tagger—SUTime 是一個識別並標準化時間表達式的庫。

  • Stanford SPIED—在種子集上使用模式,以迭代方式從無標籤文本中學習字符實體

  • Stanford Topic Modeling Toolbox —爲社會科學家及其他希望分析數據集的人員提供的主題建模工具。

  • Twitter Text Java—Java 實現的推特文本處理庫

  • MALLET -—基於 Java 的統計自然語言處理、文檔分類、聚類、主題建模、信息提取以及其他機器學習文本應用包。

  • OpenNLP—處理自然語言文本的機器學習工具包。

  • LingPipe —使用計算機語言學處理文本的工具包。

  通用機器學習

  • MLlib in Apache Spark—Spark 中的分佈式機器學習程序庫

  • Mahout —分佈式的機器學習庫

  • Stanford Classifier —斯坦福大學的分類器

  • Weka—Weka 是數據挖掘方面的機器學習算法集。

  • ORYX—提供一個簡單的大規模實時機器學習/預測分析基礎架構。

  數據分析/數據可視化

  • Hadoop—大數據分析平臺

  • Spark—快速通用的大規模數據處理引擎。

  • Impala —爲 Hadoop 實現實時查詢

  Javascript

  自然語言處理

  • Twitter-text-js —JavaScript 實現的推特文本處理庫

  • NLP.js —javascript 及 coffeescript 編寫的 NLP 工具

  • natural—Node 下的通用 NLP 工具

  • Knwl.js—JS 編寫的自然語言處理器

  數據分析/數據可視化

  通用機器學習

  • Convnet.js—訓練深度學習模型的 JavaScript 庫。

  • Clustering.js—用 JavaScript 實現的聚類算法,供 Node.js 及瀏覽器使用。

  • Decision Trees—Node.js 實現的決策樹,使用 ID3 算法。

  • Node-fann —Node.js 下的快速人工神經網絡庫。

  • Kmeans.js—k-means 算法的簡單 Javascript 實現,供 Node.js 及瀏覽器使用。

  • LDA.js —供 Node.js 用的 LDA 主題建模工具。

  • Learning.js—邏輯迴歸/c4.5 決策樹的 JavaScript 實現

  • Machine Learning—Node.js 的機器學習庫。

  • Node-SVM—Node.js 的支持向量機

  • Brain —JavaScript 實現的神經網絡

  • Bayesian-Bandit —貝葉斯強盜算法的實現,供 Node.js 及瀏覽器使用。

  Julia

  通用機器學習

  • PGM—Julia 實現的概率圖模型框架。

  • DA—Julia 實現的正則化判別分析包。

  • Regression—迴歸分析算法包(如線性迴歸和邏輯迴歸)。

  • Local Regression —局部迴歸,非常平滑!

  • Naive Bayes —樸素貝葉斯的簡單 Julia 實現

  • Mixed Models —(統計)混合效應模型的 Julia 包

  • Simple MCMC —Julia 實現的基本 mcmc 採樣器

  • Distance—Julia 實現的距離評估模塊

  • Decision Tree —決策樹分類器及迴歸分析器

  • Neural —Julia 實現的神經網絡

  • MCMC —Julia 下的 MCMC 工具

  • GLM —Julia 寫的廣義線性模型包

  • Online Learning

  • GLMNet —GMLNet 的 Julia 包裝版,適合套索/彈性網模型。

  • Clustering—數據聚類的基本函數:k-means, dp-means 等。

  • SVM—Julia 下的支持向量機。

  • Kernal Density—Julia 下的核密度估計器

  • Dimensionality Reduction—降維算法

  • NMF —Julia 下的非負矩陣分解包

  • ANN—Julia 實現的神經網絡

  自然語言處理

  數據分析/數據可視化

  • Graph Layout —純 Julia 實現的圖佈局算法。

  • Data Frames Meta —DataFrames 的元編程工具。

  • Julia Data—處理表格數據的 Julia 庫

  • Data Read—從 Stata、SAS、SPSS 讀取文件

  • Hypothesis Tests—Julia 中的假設檢驗包

  • Gladfly —Julia 編寫的靈巧的統計繪圖系統。

  • Stats—Julia 編寫的統計測試函數包

  • RDataSets —讀取R語言中衆多可用的數據集的 Julia 函數包。

  • DataFrames —處理表格數據的 Julia 庫。

  • Distributions—概率分佈及相關函數的 Julia 包。

  • Data Arrays —元素值可以爲空的數據結構。

  • Time Series—Julia 的時間序列數據工具包。

  • Sampling—Julia 的基本採樣算法包

  雜項/演示文稿

  

  Lua

  

  通用機器學習

  • Torch7

  • cephes —Cephes 數學函數庫,包裝成 Torch 可用形式。提供幷包裝了超過 180 個特殊的數學函數,由 Stephen L. Moshier 開發,是 SciPy 的核心,應用於很多場合。

  • graph —供 Torch 使用的圖形包。

  • randomkit—從 Numpy 提取的隨機數生成包,包裝成 Torch 可用形式。

  • signal —Torch-7 可用的信號處理工具包,可進行 FFT, DCT, Hilbert, cepstrums, stft 等變換。

  • nn —Torch 可用的神經網絡包。

  • nngraph —爲 nn 庫提供圖形計算能力。

  • nnx—一個不穩定實驗性的包,擴展 Torch 內置的 nn 庫。

  • optim—Torch 可用的優化算法庫,包括 SGD, Adagrad, 共軛梯度算法, LBFGS, RProp 等算法。

  • unsup—Torch 下的非監督學習包。提供的模塊與 nn (LinearPsd, ConvPsd, AutoEncoder, …)及獨立算法 (k-means, PCA)等兼容。

  • manifold—操作流形的包。

  • svm—Torch 的支持向量機庫。

  • lbfgs—將 liblbfgs 包裝爲 FFI 接口。

  • vowpalwabbit —老版的 vowpalwabbit 對 torch 的接口。

  • OpenGM—OpenGM 是 C++ 編寫的圖形建模及推斷庫,該 binding 可以用 Lua 以簡單的方式描述圖形,然後用 OpenGM 優化。

  • sphagetti —MichaelMathieu 爲 torch7 編寫的稀疏線性模塊。

  • LuaSHKit —將局部敏感哈希庫 SHKit 包裝成 lua 可用形式。

  • kernel smoothing —KNN、核權平均以及局部線性迴歸平滑器

  • cutorch—torch 的 CUDA 後端實現

  • cunn —torch 的 CUDA 神經網絡實現。

  • imgraph—torch 的圖像/圖形庫,提供從圖像創建圖形、分割、建立樹、又轉化回圖像的例程

  • videograph—torch 的視頻/圖形庫,提供從視頻創建圖形、分割、建立樹、又轉化回視頻的例程

  • saliency —積分圖像的代碼和工具,用來從快速積分直方圖中尋找興趣點。

  • stitch —使用 hugin 拼合圖像並將其生成視頻序列。

  • sfm—運動場景束調整/結構包

  • fex —torch 的特徵提取包,提供 SIFT 和 dSIFT 模塊。

  • OverFeat—當前最高水準的通用密度特徵提取器。

  • Numeric Lua

  • Lunatic Python

  • SciLua

  • Lua – Numerical Algorithms

  • Lunum

  演示及腳本

  • Core torch7 demos repository.核心 torch7 演示程序庫

  • 線性迴歸、邏輯迴歸

  • 人臉檢測(訓練和檢測是獨立的演示)

  • 基於 mst 的斷詞器

  • train-a-digit-classifier

  • train-autoencoder

  • optical flow demo

  • train-on-housenumbers

  • train-on-cifar

  • tracking with deep nets

  • kinect demo

  • 濾波可視化

  • saliency-networks

  • Training a Convnet for the Galaxy-Zoo Kaggle challenge (CUDA demo)

  • Music Tagging—torch7 下的音樂標籤腳本

  • torch-datasets 讀取幾個流行的數據集的腳本,包括:

  • BSR 500

  • CIFAR-10

  • COIL

  • Street View House Numbers

  • MNIST

  • NORB

  • Atari2600 —在 Arcade Learning Environment 模擬器中用靜態幀生成數據集的腳本。

  Matlab

  計算機視覺

  • Contourlets —實現輪廓波變換及其使用函數的 MATLAB 源代碼

  • Shearlets—剪切波變換的 MATLAB 源碼

  • Curvelets—Curvelet 變換的 MATLAB 源碼(Curvelet 變換是對小波變換向更高維的推廣,用來在不同尺度角度表示圖像。)

  • Bandlets—Bandlets 變換的 MATLAB 源碼

  自然語言處理

  • NLP —一個 Matlab 的 NLP 庫

  通用機器學習

  數據分析/數據可視化

  • matlab_gbl—處理圖像的 Matlab 包

  • gamic—圖像算法純 Matlab 高效實現,對 MatlabBGL 的 mex 函數是個補充。

  

  .NET

  計算機視覺

  • OpenCVDotNet —包裝器,使 .NET 程序能使用 OpenCV 代碼

  • Emgu CV—跨平臺的包裝器,能在 Windows, Linus, Mac OS X, iOS, 和 Android 上編譯。

  自然語言處理

  • Stanford.NLP for .NET —斯坦福大學 NLP 包在 .NET 上的完全移植,還可作爲 NuGet 包進行預編譯。

  通用機器學習

  • Accord.MachineLearning —支持向量機、決策樹、樸素貝葉斯模型、K-means、高斯混合模型和機器學習應用的通用算法,例如:隨機抽樣一致性算法、交叉驗證、網格搜索。這個包是 Accord.NET 框架的一部分。

  • Vulpes—F#語言實現的 Deep belief 和深度學習包,它在 Alea.cuBase 下利用 CUDA GPU 來執行。

  • Encog —先進的神經網絡和機器學習框架,包括用來創建多種網絡的類,也支持神經網絡需要的數據規則化及處理的類。它的訓練採用多線程彈性傳播。它也能使用 GPU 加快處理時間。提供了圖形化界面來幫助建模和訓練神經網絡。

  • Neural Network Designer —這是一個數據庫管理系統和神經網絡設計器。設計器用 WPF 開發,也是一個 UI,你可以設計你的神經網絡、查詢網絡、創建並配置聊天機器人,它能問問題,並從你的反饋中學習。這些機器人甚至可以從網絡蒐集信息用來輸出,或是用來學習。

  數據分析/數據可視化

  • numl —numl 這個機器學習庫,目標就是簡化預測和聚類的標準建模技術。

  • Math.NET Numerics—Math.NET 項目的數值計算基礎,着眼提供科學、工程以及日常數值計算的方法和算法。支持 Windows, Linux 和 Mac 上的 .Net 4.0, .Net 3.5 和 Mono ,Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 以及裝有 PCL Portable Profiles 47 及 344 的 Windows 8, 裝有 Xamarin 的 Android/iOS 。

  • Sho —Sho 是數據分析和科學計算的交互式環境,可以讓你將腳本(IronPython 語言)和編譯的代碼(.NET)無縫連接,以快速靈活的建立原型。這個環境包括強大高效的庫,如線性代數、數據可視化,可供任何 .NET 語言使用,還爲快速開發提供了功能豐富的交互式 shell。

  Python

  計算機視覺

  • SimpleCV—開源的計算機視覺框架,可以訪問如 OpenCV 等高性能計算機視覺庫。使用 Python 編寫,可以在 Mac、Windows 以及 Ubuntu 上運行。

  自然語言處理

  • NLTK —一個領先的平臺,用來編寫處理人類語言數據的 Python 程序

  • Pattern—Python 可用的 web 挖掘模塊,包括自然語言處理、機器學習等工具。

  • TextBlob—爲普通自然語言處理任務提供一致的 API,以 NLTK 和 Pattern 爲基礎,並和兩者都能很好兼容。

  • jieba—中文斷詞工具。

  • SnowNLP —中文文本處理庫。

  • loso—另一箇中文斷詞庫。

  • genius —基於條件隨機域的中文斷詞庫。

  • nut —自然語言理解工具包。

  通用機器學習

  • Bayesian Methods for Hackers —Python 語言概率規劃的電子書

  • MLlib in Apache Spark—Spark 下的分佈式機器學習庫。

  • scikit-learn—基於 SciPy 的機器學習模塊

  • graphlab-create —包含多種機器學習模塊的庫(迴歸,聚類,推薦系統,圖分析等),基於可以磁盤存儲的 DataFrame。

  • BigML—連接外部服務器的庫。

  • pattern—Python 的 web 挖掘模塊

  • NuPIC—Numenta 公司的智能計算平臺。

  • Pylearn2—基於 Theano 的機器學習庫。

  • hebel —Python 編寫的使用 GPU 加速的深度學習庫。

  • gensim—主題建模工具。

  • PyBrain—另一個機器學習庫。

  • Crab —可擴展的、快速推薦引擎。

  • python-recsys —Python 實現的推薦系統。

  • thinking bayes—關於貝葉斯分析的書籍

  • Restricted Boltzmann Machines —Python 實現的受限波爾茲曼機。[深度學習]。

  • Bolt —在線學習工具箱。

  • CoverTree —cover tree 的 Python 實現,scipy.spatial.kdtree 便捷的替代。

  • nilearn—Python 實現的神經影像學機器學習庫。

  • Shogun—機器學習工具箱。

  • Pyevolve —遺傳算法框架。

  • Caffe —考慮了代碼清潔、可讀性及速度的深度學習框架

  • breze—深度及遞歸神經網絡的程序庫,基於 Theano。

  數據分析/數據可視化

  • SciPy —基於 Python 的數學、科學、工程開源軟件生態系統。

  • NumPy—Python 科學計算基礎包。

  • Numba —Python 的低級虛擬機 JIT 編譯器,Cython and NumPy 的開發者編寫,供科學計算使用

  • NetworkX —爲複雜網絡使用的高效軟件。

  • Pandas—這個庫提供了高性能、易用的數據結構及數據分析工具。

  • Open Mining—Python 中的商業智能工具(Pandas web 接口)。

  • PyMC —MCMC 採樣工具包。

  • zipline—Python 的算法交易庫。

  • PyDy—全名 Python Dynamics,協助基於 NumPy, SciPy, IPython 以及 matplotlib 的動態建模工作流。

  • SymPy —符號數學 Python 庫。

  • statsmodels—Python 的統計建模及計量經濟學庫。

  • astropy —Python 天文學程序庫,社區協作編寫

  • matplotlib —Python 的 2D 繪圖庫。

  • bokeh—Python 的交互式 Web 繪圖庫。

  • plotly —Python and matplotlib 的協作 web 繪圖庫。

  • vincent—將 Python 數據結構轉換爲 Vega 可視化語法。

  • d3py—Python 的繪圖庫,基於 D3.js。

  • ggplot —和R語言裏的 ggplot2 提供同樣的 API。

  • Kartograph.py—Python 中渲染 SVG 圖的庫,效果漂亮。

  • pygal—Python 下的 SVG 圖表生成器。

  • pycascading

  雜項腳本/iPython 筆記/代碼庫

  Kaggle 競賽源代碼

  Ruby

  自然語言處理

  • Treat—文本檢索與註釋工具包,Ruby 上我見過的最全面的工具包。

  • Ruby Linguistics—這個框架可以用任何語言爲 Ruby 對象構建語言學工具。包括一個語言無關的通用前端,一個將語言代碼映射到語言名的模塊,和一個含有很有英文語言工具的模塊。

  • Stemmer—使得 Ruby 可用 libstemmer_c中的接口。

  • Ruby Wordnet —WordNet 的 Ruby 接口庫。

  • Raspel —aspell 綁定到 Ruby 的接口

  • UEA Stemmer—UEALite Stemmer 的 Ruby 移植版,供搜索和檢索用的保守的詞幹分析器

  • Twitter-text-rb—該程序庫可以將推特中的用戶名、列表和話題標籤自動連接並提取出來。

  通用機器學習

  數據分析/數據可視化

  Misc

  雜項

  R

  通用機器學習

  

  數據分析/數據可視化

  Scala

  自然語言處理

  • ScalaNLP—機器學習和數值計算庫的套裝

  • Breeze —Scala 用的數值處理庫

  • Chalk—自然語言處理庫。

  • FACTORIE—可部署的概率建模工具包,用 Scala 實現的軟件庫。爲用戶提供簡潔的語言來創建關係因素圖,評估參數並進行推斷。

  數據分析/數據可視化

  • MLlib in Apache Spark—Spark 下的分佈式機器學習庫

  • Scalding —CAscading 的 Scala 接口

  • Summing Bird—用 Scalding 和 Storm 進行 Streaming MapReduce

  • Algebird —Scala 的抽象代數工具

  • xerial —Scala 的數據管理工具

  • simmer —化簡你的數據,進行代數聚合的 unix 過濾器

  • PredictionIO —供軟件開發者和數據工程師用的機器學習服務器。

  • BIDMat—支持大規模探索性數據分析的 CPU 和 GPU 加速矩陣庫。

  通用機器學習

  • Conjecture—Scalding 下可擴展的機器學習框架

  • brushfire—scalding 下的決策樹工具。

  • ganitha —基於 scalding 的機器學習程序庫

  • adam—使用 Apache Avro, Apache Spark 和 Parquet 的基因組處理引擎,有專用的文件格式,Apache 2 軟件許可。

  • bioscala —Scala 語言可用的生物信息學程序庫

  • BIDMach—機器學習 CPU 和 GPU 加速庫。

  翻譯: 伯樂在線 toolate

  譯文鏈接: http://blog.jobbole.com/73806/

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