國外牛人總結的機器學習領域的框架、庫以及軟體
阿新 • • 發佈:2019-01-01
本文彙編了一些機器學習領域的框架、庫以及軟體(按程式語言排序)。
C++計算機視覺
資料分析/資料視覺化
通用機器學習 資料分析/資料視覺化
通用機器學習
通用機器學習
雜項 R通用機器學習 資料分析/資料視覺化 Scala自然語言處理
- CCV —基於C語言/提供快取/核心的機器視覺庫,新穎的機器視覺庫
-
—它提供C++, C, Python, Java 以及 MATLAB介面,並支援Windows, Linux,
Android and Mac OS作業系統。
- —一個Porter詞幹提取演算法的原生Go語言淨室實現
- —Paice/Husk詞幹提取演算法的Go語言實現
-
—Go語言版的Snowball詞幹提取器
- go-pr —Go語言機器學習包.
- —Go語言樸素貝葉斯分類庫。
資料分析/資料視覺化
-
SVGo—Go語言的SVG生成庫。
- —斯坦福大學的CoreNLP提供一系列的自然語言處理工具,輸入原始英語文字,可以給出單詞的基本形式(下面Stanford開頭的幾個工具都包含其中)。
- —用來在樹狀資料結構中進行模式匹配,基於樹關係以及節點匹配的正則表示式(名字是“tree regular expressions”的縮寫)。
- —在種子集上使用模式,以迭代方式從無標籤文字中學習字元實體
- -—基於Java的統計自然語言處理、文件分類、聚類、主題建模、資訊提取以及其他機器學習文字應用包。
- —處理自然語言文字的機器學習工具包。
-
—使用計算機語言學處理文字的工具包。
通用機器學習 資料分析/資料視覺化
- Spark—快速通用的大規模資料處理引擎。
-
—為Hadoop實現實時查詢
- —javascript及coffeescript編寫的NLP工具
- —Node下的通用NLP工具
-
—JS編寫的自然語言處理器
通用機器學習
- —訓練深度學習模型的JavaScript庫。
- —用JavaScript實現的聚類演算法,供Node.js及瀏覽器使用。
- —Node.js實現的決策樹,使用ID3演算法。
- —Node.js下的快速人工神經網路庫。
- —k-means演算法的簡單Javascript實現,供Node.js及瀏覽器使用。
- —供Node.js用的LDA主題建模工具。
- —邏輯迴歸/c4.5決策樹的JavaScript實現
- —Node.js的支援向量機
- Brain —JavaScript實現的神經網路
-
—貝葉斯強盜演算法的實現,供Node.js及瀏覽器使用。
- PGM—Julia實現的概率圖模型框架。
- DA—Julia實現的正則化判別分析包。
- —迴歸分析演算法包(如線性迴歸和邏輯迴歸)。
- —樸素貝葉斯的簡單Julia實現
- —(統計)混合效應模型的Julia包
- —Julia實現的基本mcmc取樣器
- —Julia實現的距離評估模組
- —Julia實現的神經網路
- MCMC —Julia下的MCMC工具
- GLM —Julia寫的廣義線性模型包
- —GMLNet的Julia包裝版,適合套索/彈性網模型。
- —資料聚類的基本函式:k-means, dp-means等。
- SVM—Julia下的支援向量機。
- NMF —Julia下的非負矩陣分解包
-
ANN—Julia實現的神經網路
- —處理表格資料的Julia庫
- —從Stata、SAS、SPSS讀取檔案
- —Julia編寫的靈巧的統計繪圖系統。
- Stats—Julia編寫的統計測試函式包
- —讀取R語言中眾多可用的資料集的Julia函式包。
- —處理表格資料的Julia庫。
- —Julia的時間序列資料工具包。
-
—Julia的基本取樣演算法包
通用機器學習
-
- —Cephes數學函式庫,包裝成Torch可用形式。提供幷包裝了超過180個特殊的數學函式,由Stephen L. Moshier開發,是SciPy的核心,應用於很多場合。
- graph —供Torch使用的圖形包。
- —從Numpy提取的隨機數生成包,包裝成Torch可用形式。
- —Torch-7可用的訊號處理工具包,可進行FFT, DCT, Hilbert, cepstrums, stft等變換。
- nn —Torch可用的神經網路包。
- —為nn庫提供圖形計算能力。
- nnx—一個不穩定實驗性的包,擴充套件Torch內建的nn庫。
- optim—Torch可用的優化演算法庫,包括 SGD, Adagrad, 共軛梯度演算法, LBFGS, RProp等演算法。
- unsup—Torch下的非監督學習包。提供的模組與nn(LinearPsd, ConvPsd, AutoEncoder, …)及獨立演算法 (k-means, PCA)等相容。
- svm—Torch的支援向量機庫。
- lbfgs—將liblbfgs包裝為FFI介面。
- —老版的vowpalwabbit對torch的介面。
- —OpenGM是C++編寫的圖形建模及推斷庫,該binding可以用Lua以簡單的方式描述圖形,然後用OpenGM優化。
- —MichaelMathieu為torch7編寫的稀疏線性模組。
- —將區域性敏感雜湊庫SHKit包裝成lua可用形式。
- —torch的CUDA後端實現
- cunn —torch的CUDA神經網路實現。
- —torch的影象/圖形庫,提供從影象建立圖形、分割、建立樹、又轉化回影象的例程
- —torch的視訊/圖形庫,提供從視訊建立圖形、分割、建立樹、又轉化回視訊的例程
- —積分影象的程式碼和工具,用來從快速積分直方圖中尋找興趣點。
- —使用hugin拼合影象並將其生成視訊序列。
- sfm—運動場景束調整/結構包
- fex —torch的特徵提取包,提供SIFT和dSIFT模組。
-
—當前最高水準的通用密度特徵提取器。
-
Lunum
-
.核心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
-
讀取幾個流行的資料集的指令碼,包括:
- BSR 500
- CIFAR-10
- COIL
- Street View House Numbers
- MNIST
-
NORB
-
—在Arcade Learning Environment模擬器中用靜態幀生成資料集的指令碼。
- —實現輪廓波變換及其使用函式的MATLAB原始碼
- —剪下波變換的MATLAB原始碼
- —Curvelet變換的MATLAB原始碼(Curvelet變換是對小波變換向更高維的推廣,用來在不同尺度角度表示影象。)
-
—Bandlets變換的MATLAB原始碼
-
NLP —一個Matlab的NLP庫
-
gamic—影象演算法純Matlab高效實現,對MatlabBGL的mex函式是個補充。
- —包裝器,使.NET程式能使用OpenCV程式碼
-
—跨平臺的包裝器,能在Windows, Linus,
Mac OS X, iOS, 和Android上編譯。
-
—斯坦福大學NLP包在.NET上的完全移植,還可作為NuGet包進行預編譯。
- —支援向量機、決策樹、樸素貝葉斯模型、K-means、高斯混合模型和機器學習應用的通用演算法,例如:隨機抽樣一致性演算法、交叉驗證、網格搜尋。這個包是Accord.NET框架的一部分。
- —F#語言實現的Deep belief和深度學習包,它在Alea.cuBase下利用CUDA GPU來執行。
- Encog —先進的神經網路和機器學習框架,包括用來建立多種網路的類,也支援神經網路需要的資料規則化及處理的類。它的訓練採用多執行緒彈性傳播。它也能使用GPU加快處理時間。提供了圖形化介面來幫助建模和訓練神經網路。
-
—這是一個數據庫管理系統和神經網路設計器。設計器用WPF開發,也是一個UI,你可以設計你的神經網路、查詢網路、建立並配置聊天機器人,它能問問題,並從你的反饋中學習。這些機器人甚至可以從網路蒐集資訊用來輸出,或是用來學習。
- numl —numl這個機器學習庫,目標就是簡化預測和聚類的標準建模技術。
- —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。
-
—開源的計算機視覺框架,可以訪問如OpenCV等高效能運算機視覺庫。使用Python編寫,可以在Mac、Windows以及Ubuntu上執行。
- NLTK —一個領先的平臺,用來編寫處理人類語言資料的Python程式
- —Python可用的web挖掘模組,包括自然語言處理、機器學習等工具。
- —為普通自然語言處理任務提供一致的API,以NLTK和Pattern為基礎,並和兩者都能很好相容。
- jieba—中文斷詞工具。
- loso—另一箇中文斷詞庫。
- —基於條件隨機域的中文斷詞庫。
-
nut —自然語言理解工具包。
- —包含多種機器學習模組的庫(迴歸,聚類,推薦系統,圖分析等),基於可以磁碟儲存的DataFrame。
- BigML—連線外部伺服器的庫。
- —Python的web挖掘模組
- NuPIC—Numenta公司的智慧計算平臺。
- —基於Theano的機器學習庫。
- hebel —Python編寫的使用GPU加速的深度學習庫。
- Crab —可擴充套件的、快速推薦引擎。
- Bolt —線上學習工具箱。
- —cover tree的Python實現,scipy.spatial.kdtree便捷的替代。
- —Python實現的神經影像學機器學習庫。
- —機器學習工具箱。
- Caffe —考慮了程式碼清潔、可讀性及速度的深度學習框架
-
breze—深度及遞迴神經網路的程式庫,基於Theano。
- SciPy —基於Python的數學、科學、工程開源軟體生態系統。
- NumPy—Python科學計算基礎包。
- Numba —Python的低階虛擬機器JIT編譯器,Cython and NumPy的開發者編寫,供科學計算使用
- —為複雜網路使用的高效軟體。
- —這個庫提供了高效能、易用的資料結構及資料分析工具。
- —Python中的商業智慧工具(Pandas web介面)。
- PyMC —MCMC取樣工具包。
- —Python的演算法交易庫。
- PyDy—全名Python Dynamics,協助基於NumPy, SciPy, IPython以及 matplotlib的動態建模工作流。
- SymPy —符號數學Python庫。
- —Python的統計建模及計量經濟學庫。
- —Python天文學程式庫,社群協作編寫
- bokeh—Python的互動式Web繪相簿。
- —Python and matplotlib的協作web繪相簿。
- —將Python資料結構轉換為Vega視覺化語法。
- d3py—Python的繪相簿,基於D3.js。
- —和R語言裡的ggplot2提供同樣的API。
- —Python中渲染SVG圖的庫,效果漂亮。
- pygal—Python下的SVG圖表生成器。
- —Kaggle上一個維基預測挑戰賽 Dell Zhang解法的實現。
- —Kaggle上”從社交媒體評論中檢測辱罵“競賽提交的程式碼
- —Kaggle上CIFAR-10 競賽的程式碼,使用cuda-convnet
- —Kaggle上blackbox賽程式碼,關於深度學習。
- —Kaggle上給定員工角色預測其訪問需求競賽的程式碼
- —Kaggle上根據bestbuy使用者查詢預測點選商品競賽的程式碼(大資料版)
- —Kaggle上根據bestbuy使用者查詢預測點選商品競賽的程式碼(小資料版)
- —Kaggle上預測藥物分子活性競賽的程式碼(默克製藥贊助)
- —Kaggle上 預測Stack Overflow網站問題是否會被關閉競賽的程式碼
- Treat—文字檢索與註釋工具包,Ruby上我見過的最全面的工具包。
- —這個框架可以用任何語言為Ruby物件構建語言學工具。包括一個語言無關的通用前端,一個將語言程式碼對映到語言名的模組,和一個含有很有英文語言工具的模組。
- —使得Ruby可用 libstemmer_c中的介面。
- —WordNet的Ruby介面庫。
- —aspell繫結到Ruby的介面
- —UEALite Stemmer的Ruby移植版,供搜尋和檢索用的保守的詞幹分析器
-
—該程式庫可以將推特中的使用者名稱、列表和話題標籤自動連線並提取出來。
- - Ruby – R bridge
- —將gnuplot包裝為Ruby形式,特別適合將ROC曲線轉化為svg檔案。
- —基於Vega和D3的ruby繪相簿
- —Ruby下出色的圖形工具包
- Glean—資料管理工具
-
Arel
雜項 R通用機器學習 資料分析/資料視覺化 Scala自然語言處理
- —機器學習和數值計算庫的套裝
- —Scala用的數值處理庫
- Chalk—自然語言處理庫。
-
—可部署的概率建模工具包,用Scala實現的軟體庫。為使用者提供簡潔的語言來建立關係因素圖,評估引數並進行推斷。
- —CAscading的Scala介面
- —用Scalding 和 Storm進行Streaming MapReduce
- —Scala的抽象代數工具
- —Scala的資料管理工具
- —化簡你的資料,進行代數聚合的unix過濾器
- —供軟體開發者和資料工程師用的機器學習伺服器。
-
—支援大規模探索性資料分析的CPU和GPU加速矩陣庫。
- —Scalding下可擴充套件的機器學習框架
- —scalding下的決策樹工具。
- —基於scalding的機器學習程式庫
- adam—使用Apache Avro, Apache Spark 和 Parquet的基因組處理引擎,有專用的檔案格式,Apache 2軟體許可。
- —Scala語言可用的生物資訊學程式庫
- —機器學習CPU和GPU加速庫。