機器學習開源演算法庫
C++計算機視覺
CCV —基於C語言/提供快取/核心的機器視覺庫,新穎的機器視覺庫
OpenCV—它提供C++, C, Python, Java 以及 MATLAB介面,並支援Windows, Linux, Android and Mac OS作業系統。
通用機器學習
MLPack
DLib
ecogg
shark
Closure通用機器學習
Closure Toolbox—Clojure語言庫與工具的分類目錄
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編寫的自然語言處理器
資料分析/資料視覺化
D3.js
High Charts
NVD3.js
dc.js
chartjs
dimple
amCharts
通用機器學習
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實現的神經網路
自然語言處理
Topic Models —Julia下的主題建模
Text Analysis—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的基本取樣演算法包
雜項/簡報
DSP —數字訊號處理
JuliaCon Presentations—Julia大會上的簡報
SignalProcessing—Julia的訊號處理工具
Images—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庫
通用機器學習
Training a deep autoencoder or a classifier on MNIST digits—在MNIST字元資料集上訓練一個深度的autoencoder或分類器[深度學習]。
t-Distributed Stochastic Neighbor Embedding —獲獎的降維技術,特別適合於高維資料集的視覺化
Spider—Matlab機器學習的完整面向物件環境。
LibSVM —支援向量機程式庫
LibLinear —大型線性分類程式庫
Machine Learning Module —M. A .Girolami教授的機器學習課程,包括PDF,講義及程式碼。
Caffe—考慮了程式碼清潔、可讀性及速度的深度學習框架
Pattern Recognition Toolbox —Matlab中的模式識別工具包,完全面向物件
資料分析/資料視覺化
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筆記/程式碼庫
pattern_classification
thinking stats 2
hyperopt
numpic
2012-paper-diginorm
ipython-notebooks
decision-weights
Sarah Palin LDA —Sarah Palin關於主題建模的電郵。
Diffusion Segmentation —基於擴散方法的影象分割演算法集合。
Scipy Tutorials —SciPy教程,已過時,請檢視scipy-lecture-notes
Crab—Python的推薦引擎庫。
BayesPy—Python中的貝葉斯推斷工具。
scikit-learn tutorials—scikit-learn學習筆記系列
sentiment-analyzer —推特情緒分析器
group-lasso—座標下降演算法實驗,應用於(稀疏)群套索模型。
mne-python-notebooks—使用 mne-python進行EEG/MEG資料處理的IPython筆記
pandas cookbook—使用Python pandas庫的方法書。
climin—機器學習的優化程式庫,用Python實現了梯度下降、LBFGS、rmsprop、adadelta 等演算法。
Kaggle競賽原始碼
wiki challange —Kaggle上一個維基預測挑戰賽 Dell Zhang解法的實現。
kaggle insults—Kaggle上”從社交媒體評論中檢測辱罵“競賽提交的程式碼
kaggle_acquire-valued-shoppers-challenge—Kaggle預測回頭客挑戰賽的程式碼
kaggle-cifar —Kaggle上CIFAR-10 競賽的程式碼,使用cuda-convnet
kaggle-blackbox —Kaggle上blackbox賽程式碼,關於深度學習。
kaggle-accelerometer —Kaggle上加速度計資料識別使用者競賽的程式碼
kaggle-advertised-salaries —Kaggle上用廣告預測工資競賽的程式碼
kaggle amazon —Kaggle上給定員工角色預測其訪問需求競賽的程式碼
kaggle-bestbuy_big—Kaggle上根據bestbuy使用者查詢預測點選商品競賽的程式碼(大資料版)
kaggle-bestbuy_small—Kaggle上根據bestbuy使用者查詢預測點選商品競賽的程式碼(小資料版)
Kaggle Dogs vs. Cats —Kaggle上從圖片中識別貓和狗競賽的程式碼
Kaggle Galaxy Challenge —Kaggle上遙遠星系形態分類競賽的優勝程式碼
Kaggle Gender —Kaggle競賽:從筆跡區分性別
Kaggle Merck—Kaggle上預測藥物分子活性競賽的程式碼(默克製藥贊助)
Kaggle Stackoverflow—Kaggle上 預測Stack Overflow網站問題是否會被關閉競賽的程式碼
wine-quality —預測紅酒質量。
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—該程式庫可以將推特中的使用者名稱、列表和話題標籤自動連線並提取出來。
通用機器學習
Ruby Machine Learning —Ruby實現的一些機器學習演算法。
Machine Learning Ruby
jRuby Mahout —精華!在JRuby世界中釋放了Apache Mahout的威力。
CardMagic-Classifier—可用貝葉斯及其他分類法的通用分類器模組。
Neural Networks and Deep Learning—《神經網路和深度學習》一書的示例程式碼。
資料分析/資料視覺化
rsruby – Ruby – R bridge
data-visualization-ruby—關於資料視覺化的Ruby Manor演示的原始碼和支援內容
ruby-plot —將gnuplot包裝為Ruby形式,特別適合將ROC曲線轉化為svg檔案。
plot-rb—基於Vega和D3的ruby繪相簿
scruffy —Ruby下出色的圖形工具包
SciRuby
Glean—資料管理工具
Bioruby
Arel
Misc
雜項
Big Data For Chimps—大資料處理嚴肅而有趣的指南書
R通用機器學習
Clever Algorithms For Machine Learning
Machine Learning For Hackers
Machine Learning Task View on CRAN—R語言機器學習包列表,按演算法型別分組。
caret—R語言150個機器學習演算法的統一介面
SuperLearner and subsemble—該包集合了多種機器學習演算法
Introduction to Statistical Learning
資料分析/資料視覺化
Learning Statistics Using R
ggplot2—基於圖形語法的資料視覺化包。
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加速庫。