推薦!國外程序員整理的機器學習資源大全
本列表選編了一些機器學習領域牛B的框架、庫以及軟件(按編程語言排序)。
C++
計算機視覺
-
CCV —基于C語言/提供緩存/核心的機器視覺庫,新穎的機器視覺庫
-
OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系統。
通用機器學習
Closure
通用機器學習
-
Closure Toolbox—Clojure語言庫與工具的分類目錄
Go
自然語言處理
-
go-porterstemmer—一個Porter詞干提取算法的原生Go語言凈室實現
-
paicehusk—Paice/Husk詞干提取算法的Go語言實現
-
snowball—Go語言版的Snowball詞干提取器
通用機器學習
數據分析/數據可視化
Java
自然語言處理
-
CoreNLP—斯坦福大學的CoreNLP提供一系列的自然語言處理工具,輸入原始英語文本,可以給出單詞的基本形式(下面Stanford開頭的幾個工具都包含其中)。
-
Stanford Parser—一個自然語言解析器。
-
Stanford POS Tagger —一個詞性分類器。
-
Stanford Name Entity Recognizer—Java實現的名稱識別器
-
Stanford Word Segmenter—分詞器,很多NLP工作中都要用到的標準預處理步驟。
-
Tregex, Tsurgeon and Semgrex —用來在樹狀數據結構中進行模式匹配,基于樹關系以及節(jié)點匹配的正則表達式(名字是“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—提供一個簡單的大規(guī)模實時機器學習/預測分析基礎架構。
數據分析/數據可視化
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寫的廣義線性模型包
-
GLMNet —GMLNet的Julia包裝版,適合套索/彈性網模型。
-
Clustering—數據聚類的基本函數:k-means, dp-means等。
-
SVM—Julia下的支持向量機。
-
Kernal Density—Julia下的核密度估計器
-
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
通用機器學習
-
-
cephes —Cephes數學函數庫,包裝成Torch可用形式。提供并包裝了超過180個特殊的數學函數,由Stephen L. Moshier開發(fā),是SciPy的核心,應用于很多場合。
-
graph —供Torch使用的圖形包。
-
randomkit—從Numpy提取的隨機數生成包,包裝成Torch可用形式。
-
signal —Torch-7可用的信號處理工具包,可進行FFT, DCT, Hilbert, cepstrums, stft等變換。
-
nn —Torch可用的神經網絡包。
-
nngraph —為nn庫提供圖形計算能力。
-
nnx—一個不穩(wěn)定實驗性的包,擴展Torch內置的nn庫。
-
optim—Torch可用的優(yōu)化算法庫,包括 SGD, Adagrad, 共軛梯度算法, LBFGS, RProp等算法。
-
unsup—Torch下的非監(jiān)督學習包。提供的模塊與nn(LinearPsd, ConvPsd, AutoEncoder, …)及獨立算法 (k-means, PCA)等兼容。
-
manifold—操作流形的包。
-
svm—Torch的支持向量機庫。
-
lbfgs—將liblbfgs包裝為FFI接口。
-
vowpalwabbit —老版的vowpalwabbit對torch的接口。
-
OpenGM—OpenGM是C++編寫的圖形建模及推斷庫,該binding可以用Lua以簡單的方式描述圖形,然后用OpenGM優(yōu)化。
-
sphagetti —MichaelMathieu為torch7編寫的稀疏線性模塊。
-
LuaSHKit —將局部敏感哈希庫SHKit包裝成lua可用形式。
-
kernel smoothing —KNN、核權平均以及局部線性回歸平滑器
-
cutorch—torch的CUDA后端實現
-
cunn —torch的CUDA神經網絡實現。
-
imgraph—torch的圖像/圖形庫,提供從圖像創(chuàng)建圖形、分割、建立樹、又轉化回圖像的例程
-
videograph—torch的視頻/圖形庫,提供從視頻創(chuàng)建圖形、分割、建立樹、又轉化回視頻的例程
-
saliency —積分圖像的代碼和工具,用來從快速積分直方圖中尋找興趣點。
-
stitch —使用hugin拼合圖像并將其生成視頻序列。
-
sfm—運動場景束調整/結構包
-
fex —torch的特征提取包,提供SIFT和dSIFT模塊。
-
OverFeat—當前最高水準的通用密度特征提取器。
-
演示及腳本
-
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模擬器中用靜態(tài)幀生成數據集的腳本。
#p#
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機器學習的完整面向對象環(huán)境。
-
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來執(zhí)行。
-
Encog —先進的神經網絡和機器學習框架,包括用來創(chuàng)建多種網絡的類,也支持神經網絡需要的數據規(guī)則化及處理的類。它的訓練采用多線程彈性傳播。它也能使用GPU加快處理時間。提供了圖形化界面來幫助建模和訓練神經網絡。
-
Neural Network Designer —這是一個數據庫管理系統和神經網絡設計器。設計器用WPF開發(fā),也是一個UI,你可以設計你的神經網絡、查詢網絡、創(chuàng)建并配置聊天機器人,它能問問題,并從你的反饋中學習。這些機器人甚至可以從網絡搜集信息用來輸出,或是用來學習。
數據分析/數據可視化
-
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是數據分析和科學計算的交互式環(huán)境,可以讓你將腳本(IronPython語言)和編譯的代碼(.NET)無縫連接,以快速靈活的建立原型。這個環(huán) 境包括強大高效的庫,如線性代數、數據可視化,可供任何.NET語言使用,還為快速開發(fā)提供了功能豐富的交互式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語言概率規(guī)劃的電子書
-
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的數學、科學、工程開源軟件生態(tài)系統。
-
NumPy—Python科學計算基礎包。
-
Numba —Python的低級虛擬機JIT編譯器,Cython and NumPy的開發(fā)者編寫,供科學計算使用
-
NetworkX —為復雜網絡使用的高效軟件。
-
Pandas—這個庫提供了高性能、易用的數據結構及數據分析工具。
-
Open Mining—Python中的商業(yè)智能工具(Pandas web接口)。
-
PyMC —MCMC采樣工具包。
-
zipline—Python的算法交易庫。
-
PyDy—全名Python Dynamics,協助基于NumPy, SciPy, IPython以及 matplotlib的動態(tài)建模工作流。
-
SymPy —符號數學Python庫。
-
statsmodels—Python的統計建模及計量經濟學庫。
-
astropy —Python天文學程序庫,社區(qū)協作編寫
-
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圖表生成器。
雜項腳本/iPython筆記/代碼庫
-
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—機器學習的優(yōu)化程序庫,用Python實現了梯度下降、LBFGS、rmsprop、adadelta 等算法。
Kaggle競賽源代碼
-
wiki challange —Kaggle上一個維基預測挑戰(zhàn)賽 Dell Zhang解法的實現。
-
kaggle insults—Kaggle上”從社交媒體評論中檢測辱罵“競賽提交的代碼
-
kaggle_acquire-valued-shoppers-challenge—Kaggle預測回頭客挑戰(zhàn)賽的代碼
-
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上遙遠星系形態(tài)分類競賽的優(yōu)勝代碼
-
Kaggle Gender —Kaggle競賽:從筆跡區(qū)分性別
-
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實現的一些機器學習算法。
-
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下出色的圖形工具包
-
Glean—數據管理工具
Misc
雜項
-
Big Data For Chimps—大數據處理嚴肅而有趣的指南書
R
通用機器學習
-
Machine Learning Task View on CRAN—R語言機器學習包列表,按算法類型分組。
-
caret—R語言150個機器學習算法的統一接口
-
SuperLearner and subsemble—該包集合了多種機器學習算法
數據分析/數據可視化
-
ggplot2—基于圖形語法的數據可視化包。
Scala
自然語言處理
-
ScalaNLP—機器學習和數值計算庫的套裝
-
Breeze —Scala用的數值處理庫
-
Chalk—自然語言處理庫。
-
FACTORIE—可部署的概率建模工具包,用Scala實現的軟件庫。為用戶提供簡潔的語言來創(chuàng)建關系因素圖,評估參數并進行推斷。
數據分析/數據可視化
-
MLlib in Apache Spark—Spark下的分布式機器學習庫
-
Scalding —CAscading的Scala接口
-
Summing Bird—用Scalding 和 Storm進行Streaming MapReduce
-
Algebird —Scala的抽象代數工具
-
xerial —Scala的數據管理工具
-
simmer —化簡你的數據,進行代數聚合的unix過濾器
-
PredictionIO —供軟件開發(fā)者和數據工程師用的機器學習服務器。
-
BIDMat—支持大規(guī)模探索性數據分析的CPU和GPU加速矩陣庫。
通用機器學習
-
Conjecture—Scalding下可擴展的機器學習框架
-
brushfire—scalding下的決策樹工具。
-
ganitha —基于scalding的機器學習程序庫
-
adam—使用Apache Avro, Apache Spark 和 Parquet的基因組處理引擎,有專用的文件格式,Apache 2軟件許可。
-
bioscala —Scala語言可用的生物信息學程序庫
-
BIDMach—機器學習CPU和GPU加速庫。
原文鏈接: awesome-machine-learning 翻譯: 伯樂在線 - toolate