最全的機器學習資料
機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。機器學習牽涉的程式語言十分之廣,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。
為了讓開發者更加廣泛、深入地瞭解機器學習,雲棲社群組織翻譯了GitHub Awesome Machine Learning 資源,涵蓋24種程式語言的機器學習的框架、庫以及其他相關資料。
目錄
C
通用機器學習
- Recommender – 一個C語言庫,利用協同過濾(CF)進行產品推薦/建議;
- Darknet -是一個用C和CUDA編寫的開源神經網路框架,它速度快,易於安裝,並支援CPU和GPU計算。
計算機視覺
語音識別
- HTK -隱馬爾可夫模型工具包(HTK)是一個行動式工具包,用於構建和操作隱馬爾可夫模型。
C++
計算機視覺
- OpenCV -OpenCV自帶C ++、C、Python、Java和MATLAB介面,並支援Windows、Linux、Android版和Mac OS等系統;
- DLib -DLib有C ++和Python介面,用於人臉檢測和訓練通用的目標探測器;
- EBLearn -Eblearn是一種面向物件的C++庫,能夠實現各種機器學習模型;
- VIGRA -VIGRA是通用跨平臺的C++計算機視覺和機器學習庫,能夠用Python繫結任意維度的體積。
通用機器學習
- mlpack -可擴充套件的C++機器學習庫;
- DLib -ML工具套件,能夠很容易嵌入到其他應用程式中;
- shark
- Vowpal Wabbit (VW) -一個快速的核外(out-of-core )學習系統;
- Shogun -Shogun機器學習工具箱;
- Caffe -基於清潔度、可讀性和速度考慮而開發的深度學習框架。[深度學習]
- CXXNET -另一個深度學習框架,其核心程式碼少於1000行;[深度學習]
- XGBoost -一種並行、優化、通用的梯度推進庫;
- CUDA -利用C++ / CUDA快速實現卷積;[深度學習]
- Stan -一種概率性的程式語言,能夠實現Hamiltonian Monte Carlo抽樣的全貝葉斯統計推斷;
- BanditLib -一個簡單、有多重保護的Bandit庫;
- Timbl :一個軟體包/ C ++庫,能夠實現多種基於記憶體的學習演算法,其中有IB1-IG–k-最近鄰分類的實現、IGTree–IB1-IG的決策樹近似值;常用於NLP;
- Disrtibuted Machine learning Tool Kit (DMTK) -微軟開發的分散式機器學習(引數伺服器)框架,能夠在多臺機器的大型資料集上實現訓練模型,與它捆綁的現有工具包括:LightLDA和分散式(多感測)字嵌入;
- Warp-CTC -在CPU和GPU上快速並行地實現連線時域分類(Connectionist Temporal Classification,CTC);
- CNTK -微軟研究院開發的計算網路工具包(CNTK),它作為一系列計算步驟,通過有向圖來描述神經網路,是統一的深度學習工具包;
- DeepDetect -一個機器學習API,伺服器用C++11編寫,它使機器學習的狀態易於工作,並容易整合到現有應用程式;
- Fido -一個高度模組化的C++機器學習庫,用於嵌入式電子產品和機器人中。
- CRF++ -條件隨機域(Conditional Random Fields,CRFs)的開源實現,用於分割/標記序列資料及其他自然語言處理任務;
- CRFsuite -條件隨機域(CRFs)的實現,用於標記序列資料;
- BLLIP Parser -BLLIP自然語言解析器(也稱為Charniak-Johnson解析器);
- colibri-core -是C++庫、命令列工具,和Python繫結用於提取與使用基本的語言結構,例如用快速和高效儲存的方式實現n-grams和skipgrams模型;
- ucto -是一種工具和C++庫,基於支援各種語言的編譯器,內含統一字元標準及規則表示式;支援FoLiA格式;
- libfolia -支援FoLiA格式的C++庫;
- frog -為Dutch開發的基於記憶體的NLP套件:POS標籤、歸類分析、依存句法分析、NER、淺層句法分析、形態分析;
語音識別
- Kaldi -Kaldi是用於語音識別的工具包,用C++編寫,由Apache許可證V2.0協議授權,專門給語音識別的研究人員使用。
序列分析
- ToPS -這是一種面向物件的框架,便於在使用者定義的字母序列中整合概率模型。
手勢檢測
- grt -手勢識別工具包(GRT)是一個跨平臺、開源的C++機器學習庫,用於實時的手勢識別。
Common Lisp
通用機器學習
Clojure
自然語言處理
- Clojure-openNLP – Clojure中自然語言處理的工具包(openNLP);
- Infections-clj – Clojure和Clojure中類似於Rails的inflection庫。
通用機器學習
- Touchstone – Clojure A/B 測試庫;
- Clojush – Clojure中的Push程式語言和PushGP遺傳程式設計系統;
- Infer – Clojure中分析和機器學習的工具;
- Clj-ML – Clojure中基於Weka及其相關環境的深度學習庫;
- Encog – 在Clojure中封裝成Encog (v3) (專門研究神經網路的機器學習框架);
- Fungp – Clojure中的遺傳程式設計例項庫;
- Statistiker – Clojure中基礎機器學習演算法;
- clortex -採用Numenta’s Cortical 學習演算法的通用機器學習庫;
- comportex – 採用Numenta’s Cortical 學習演算法的功能組合的機器學習庫。
資料分析/資料視覺化
- Incanter – Incanter是基於 Clojure,類似R的統計計算與製圖平臺;
- PigPen – Clojure中的Map-Reduce;
- Envision – 基於Statistiker和D3Clojure 資料視覺化庫。
Erlang
通用機器學習
- Disco– Erlang中的Map Reduce模型。
Go
自然語言處理
- go-porterstemmer – 一個用於實現Porter詞幹提取演算法的原生Go語言淨室;
- paicehusk – Go語言中用於實現Paice/Husk詞幹提取演算法;
- snowball – Go語言中的Snowball 詞幹提取器;
- go-ngram -記憶體N-gram索引壓縮 。
通用機器學習
- Go Learn – Go語言中的機器學習庫;
- go-pr – Go語言中的模式識別包;
- go-ml – 線性/邏輯迴歸、神經網路、協同過濾和多元高斯分佈;
- bayesian – Go語言中樸素貝葉斯分類庫;
- go-galib – Go語言版的遺傳演算法庫;
- gobrain – GO語言版的神經網路;
- GoNN – GoNN 是用Go語言實現的神經網路,它包括BPNN、RBF、PCN ;
- MXNet – 輕量級、行動式、靈活的分散式/深度學習系統,可對動態的、突變資料流排程部署,同時也支援Python、R、Julia、Go、Javascript 等程式語言。
資料分析/資料視覺化
Haskell
通用機器學習
- haskell-ml – Haskell 語言實現的各種深度學習演算法 ;
- HLearn – 根據代數結構解釋其深度模型的庫;
- hnn – Haskell語言的神經網路庫;
- hopfield-networks – Haskell中用於無監督學習的Hopfield網路;
- caffegraph – 一種用於深度神經網路的領域特定語言(DSL);
- LambdaNet – Haskell中的可配置的神經網路。
Java
自然語言處理
- Cortical.io – 像人腦一樣快速、精確處理複雜的NLP(自然語言處理)操作(如消歧、分類、流文字過濾等操作)的Retina API;
- CoreNLP – 斯坦福大學的CoreNLP提供的一系列的自然語言處理工具,該工具可以根據輸入原始英語文字,給出單詞的基本形式;
- Stanford Parser – 一種自然語言分析器,可以分析語句的語法結構;
- Tregex, Tsurgeon and Semgrex – Tregex基於樹關係以及節點匹配的正則表示式,用於在樹狀資料結構中進行模式匹配(名字是“tree regular expressions”的縮寫) ;
- Stanford English Tokenizer – Stanford Phrasal 用Java寫成的最新的基於統計短語的機器翻譯系統;
- Stanford Tokens Regex – 一個分解器,可以將文字大致分成一系列對應於“詞”的符號;
- Stanford SPIED -在種子集上使用模式,以迭代方式從無標籤文字中進行學習實體;
- MALLET – 基於Java的統計自然語言處理、文件分類、聚類、主題建模、資訊提取以及其他機器學習的文字應用包;
- OpenNLP – 基於機器學習的自然語言文字處理工具包;
- LingPipe – 一個使用計算機語言學文字處理的工具包;
- ClearTK – 在Java中ClearTK為開發統計語言處理元件提供了一個框架,該框架是基於Apache UIMA;
- Apache cTAKES – Apache cTAKES是一個開源自然語言處理系統,用於從臨床電子病歷的自由文字中提取資訊;
- ClearNLP – ClearNLP工程為自然語言處理提供了軟體和資源提供了。該專案最早在計算機癒合和教育研究中心啟動,目前由Emory 大學的語言和資訊研究中心繼續開發。該專案遵循Apache 2 license。
通用機器學習
- aerosolve – 是由Airbnb設計的定價建議系統的機器學習庫;
- Datumbox -應對機器學習和統計應用快速發展的機器學習框架;
- ELKI – 用於資料探勘的Java工具包(無監督:聚類、異常檢測等等);
- Encog – 一種先進的神經網路和機器學習框架。 Encog包含用於建立各類網路的類,同時也支援為神經網路規範和處理資料的類。它的訓練採用多執行緒彈性傳播。它也能使用GPU加快處理時間。提供了圖形化介面來幫助建模和訓練神經網路。
- EvA2 – 包含遺傳演算法、差分進化、協方差自適應進化策略等等的進化演算法框架;
- H2O – 深度學習引擎,支援在Hadoop、Spark 或者通過R、Python、Scala 、REST/JSONML 的APIs連到的筆記本上進行分散式學習;
- htm.java – 採用Numenta Cortical 學習演算法的通用機器學習庫 ;
- java-deeplearning – Java、Clojure、Scala的分散式深度學習平臺;
- JAVA-ML – 包含所有Java演算法的通用介面的通用深度學習庫;
- JSAT – 用於分類、迴歸、聚類的機器學習演算法集合;
- Mahout – 分散式的機器學習庫;
- Meka – MEKA提供了一個面向多標籤學習和評價方法的開源實現(擴充套件成Weka);
- Neuroph – Neuroph 是輕量級的Java神經網路框架;
- ORYX – 採用Apache Spark和Apache Kafka的Lambda 結構框架,專門用於實時大規模機器學習;
- Samoa – SAMOA 是一個包含用於分散式機器學習資料流的框架,同時為資料流流入不同的流處理平臺提供了介面;
- RankLib – RankLib是一個排序學習演算法庫;
- rapaio – Java中用於統計、資料探勘和機器學習的工具箱;
- RapidMiner – RapidMiner integration into Java code
- Stanford Classifier – 斯坦福大學分類器是一種機器學習工具,它可以將資料項歸置不同的類別中;
- SystemML – 靈活、可擴充套件的機器學習語言;
- WalnutiQ – 人腦部分面向物件模型;
- Weka – Weka是資料探勘方面的機器學習演算法集 。
語音識別
- CMU Sphinx – CMU Sphinx 是基於Java 語音識別庫,用於純語音識別開源工具包。
資料分析/資料視覺化
- Flink – Apache Flink是一個面向分散式資料流處理和批量資料處理的開源計算平臺;
- Hadoop – 大資料分析平臺;
- Spark – Spark是一個快速通用的大規模資料處理引擎;
- Storm – Storm是一個分散式實時計算系統;
- Impala – 為Hadoop實現實時查詢
- DataMelt – 用於數字計算、統計、符號計算、資料分析和資料視覺化的數學軟體;
深度學習
數 Javascript
自然語言處理
- Twitter-text – Twitter文字處理庫中使用JavaScript的實現;
- NLP.js – 使用JavaScript和CoffeeScript的NLP實用工具;
- natural – 用於節點的通用自然語言工具;
- Knwl.js – JS中的自然語言處理器;
- Retext -用於分析和處理自然語言的可擴充套件系統;
- TextProcessing -情感分析,詞幹和詞形還原,部分詞性標註和組塊,短語提取和命名實體識別;
資料分析/資料視覺化
- D3.js
- dc.js
- D3xter –直接建立在D3上的繪圖;
- statkit – JavaScript的統計工具;
- datakit – JavaScript的輕量級資料分析框架;
- science.js – JavaScript中的科學統計計算;
- Z3d – 在Three.js上輕鬆地繪製互動式3D圖;
- Sigma.js – JavaScript庫,專門用於圖形繪製;
- C3.js – 基於D3.js的定製庫,能夠輕鬆繪製圖表;
- ZingChart – Vanilla JS編寫的庫,用於大資料視覺化;
- cheminfo – 資料視覺化和分析的平臺,使用視覺化專案。
通用機器學習
- Convnet.js – ConvNetJS是一個JavaScript庫,用於訓練深度學習模型[深度學習];
- Clusterfck – 為Node.js和瀏覽器,用Javascript實現的凝聚層次聚類;
- Clustering.js – Javascript為Node.js和瀏覽器實現的聚類演算法;
- Decision Trees -使用ID3演算法實現NodeJS決策樹;
- figue – K-均值、模糊C均值和凝聚聚類;
- Node-fann -Node.js繫結的快速人工神經網路庫(Fast Artificial Neural Network Library,FANN);
- Kmeans.js – K-均值演算法用JavaScript的簡單實現,用於Node.js和瀏覽器;
- LDA.js – Node.js的LDA主題建模;
- Learning.js –用Javascript實現邏輯迴歸/ c4.5決策樹;
- Node-SVM – Node.js的支援向量機;
- Brain – JavaScript中的神經網路[已棄用];
- Synaptic – 用於Node.js和瀏覽器的無架構神經網路庫;
- kNear – JavaScript實現的k個最近鄰演算法,用於監督學習;
- NeuralN – Node.js的C++神經網路庫,其優點是有大量的資料集和多執行緒訓練;
- kalman – Javascript的卡爾曼濾波器;
- shaman – Node.js庫,同時支援簡單和多元的線性迴歸;
- ml.js –用於Node.js和瀏覽器的機器學習和數值分析工具;
- Pavlov.js -利用馬爾可夫決策過程強化學習;
- MXNet – 輕量級、行動式、靈活的分散式/深度學習系統,可對動態的、突變資料流排程部署,同時也支援Python、R、Julia、Go、Javascript 等程式語言。
其它
- sylvester – 用於JavaScript的向量和矩陣數學;
- simple-statistics – 描述,迴歸和推斷統計的JavaScript實現;用文字實現的JavaScript,沒有依賴性,能在所有現代瀏覽器(包括IE)以及在node.js中工作;
- regression-js – JavaScript庫,包含小二乘法擬合方法的集合,用於尋找資料集的趨勢;
- Lyric -線性迴歸庫;
Julia
通用機器學習
- MLBase -一組支援機器學習演算法的發展的函式;
- PGM – 一個概率圖模型的Julia框架;
- DA – 正則判別分析的Julia元件;
- Regression – 迴歸分析演算法(例如線性迴歸和邏輯迴歸);
- Naive Bayes – Julia樸素貝葉斯方法的簡單實現;
- Mixed Models – 用於裝配(統計)混合效應模型的Julia元件;
- Simple MCMC – Julia實現基本的MCMC取樣;
- Distance – Julia距離評估模組;
- Neural – Julia神經網路;
- MCMC – Julia 的MCMC工具;
- Mamba – Julia中馬爾可夫鏈蒙特卡羅(MCMC)的貝葉斯分析;
- GLM – Julia的廣義線性模型。
- GLMNet – GMLNet的Julia包裝版,適合套索/彈性網模型;
- Clustering -叢集資料的基本功能:K-均值,DP-均值等;
- SVM – Julia適用的SVM;
- NMF – 非負矩陣分解的Julia包;
- ANN – Julia人工神經網路;
- Mocha – 受Caffe啟發,Julia的深度學習框架;
- XGBoost – Julia中的eXtreme Gradient Boosting 包;
- MXNet – 輕量級、行動式、靈活的分散式/深度學習系統,可對動態的、突變資料流排程部署,同時也支援Python、R、Julia、Go、Javascript 等程式語言。
- Merlin – Julia靈活的深度學習框架。
自然語言處理
資料分析/資料視覺化
- Julia Data – 處理表格資料的Julia庫;
- Data Read – 從Stata、SAS、SPSS讀取檔案;
- Gadfly – Julia 靈活的統計製圖法;
- Stats – Julia的統計圖檢驗;
- RDataSets – 用於裝載許多R中可用資料集的Julia包;
- DataFrames – 處理列表資料的Julia庫;
- Time Series – Julia的時間序列工具包;
- Sampling – Julia的基本取樣演算法。
其他項/展示
機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。機器學習牽涉的程式語言十分之廣,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。
為了讓開發者更加廣泛、深入地瞭解機器學習,雲棲社群組織翻譯了GitHub Awesome Machine Learning 資源,涵蓋24種程式語言的機器學習的框架、庫以及其他相關資料。
Lua
通用機器學習
- cephes – 由Torch包裝的Cephes數學函式庫,由Stephen L. Moshier開發,庫中提供幷包裝了從Cephes數學庫中的180多個特殊的數學函式,是SciPy的核心,作用廣泛;
- autograd – Autograd自動區分本機Torch程式碼,受原始的Python版本的啟發;
- graph – Torch的圖形包;
- randomkit – 從Numpy提取的隨機數生成包,包裝成Torch可用形式;
- signal – 適用Torch-7的訊號處理工具箱,包括FFT、DCT、Hilbert、cepstrums、stft等變換;
- nn – Torch的神經網路包;
- nngraph – 此軟體包為Torch7 nn庫提供圖形計算;
- nnx – 一個不穩定的實驗包,能夠擴充套件Torch的內建nn庫;
- rnn – 能夠擴充套件Torch nn庫的遞推神經網路庫,包括RNNs、LSTMs、GRUs、BRNNs、BLSTMs等等;
- dpnn – 許多有用的功能,並不是主要的神經網路包的一部分;
- dp – 深度學習庫,專門使用Torch7分配進行合理化的研究和開發,它強調通過優雅地使用面向物件的設計模式,從而實現靈活性;
- optim – 針對Torch的優化庫,包括Adagrad、共軛梯度、LBFGS, RProp等演算法;
- unsup – Torch中的無監督學習包,提供了與nn相相容的模組((LinearPsd、ConvPsd、AutoEncoder等),以及獨立的演算法(k-均值、PCA);
- svm – Torch的支援向量機庫;
- lbfgs – 針對liblbfgs的FFT包;
- vowpalwabbit – torch的舊式vowpalwabbit介面;
- OpenGM – OpenGM是一個用於圖形化建模和推斷的C++庫, Lua binding提供了一種簡單的描繪圖形的方法,用Lua描繪,再用OpenGM優化;
- sphagetti – @MichaelMathieu開發的用於torch7的Spaghetti(稀疏線型)模組;
- 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 – 當前最先進的通用密集特徵提取方式。
演示與指令碼
- 線性迴歸,邏輯迴歸;
- 面部檢測器(訓練和檢測作為獨立的演示);
- 基於mst的分段器;
- train-a-digit-classifier
- train-autoencoder
- optical flow demo
- train-on-housenumbers
- train-on-cifar
- 深層網路追蹤;
- Kinect 演示;
- 濾波元件視覺化;
- 網路卓越度;
torch-datasets – 用於載入多個大眾資料集的指令碼,資料集包括如下:
- BSR 500
- CIFAR-10
- COIL
- Street View House Numbers
- MNIST
- NORB
Atari2600 – 從Arcade學習環境的靜態幀中生成資料集的指令碼。
Matlab
計算機視覺
- Contourlets –MATLAB原始碼,能夠實現輪廓變換及其效用函式;
- Shearlets –剪下波變換的MATLAB程式碼;
- Curvelets –曲波變換是小波變換的高維推廣,用於表示不同尺度和不同角度的影象;
- Bandlets – bandlet變換的MATLAB程式碼;
- mexopencv – 針對OpenCV庫,用於收集和開發MATLAB MEX函式的套件;
- NLP – 用於Mablab的NLP庫;
通用機器學習
資料分析/資料視覺化
- matlab_gbl – 處理圖形問題的MATLAB程式包;
- gamic – 圖形演算法用純Matlab高效實現,以補充MatlabBGL的MEX函式;
.NET
計算機視覺
- OpenCVDotNet – OpenCV工程封裝器,用於.NET應用程式;
- Emgu CV – OpenCV的跨平臺封裝器,可在Mono中編譯,並運行於Windows、Linus、Mac OS X、 iOS、Android等系統;
- AForge.NET – 開放原始碼C#框架,用於計算機視覺和人工智慧領域的開發和研究人員,目前已轉移到GitHub發展;
- Accord.NET -連同AForge.NET,可為Windows、Windows RT和Windows Phone提供影象處理和計算機視覺演算法,一些元件適用於Java和Android;
自然語言處理
- Stanford.NLP for .NET – 斯坦福大學NLP包在.NET上的完整移植,也可作為NuGet包進行預編譯;
通用機器學習
- Accord-Framework – 完整的Accord.NET框架,用於機器學習,計算機視覺,計算機試聽,訊號處理和統計應用;
- Accord.MachineLearning –該軟體包是Accord.NET框架的一部分,包括支援向量機、決策樹、樸素貝葉斯模型、K均值、高斯混合模型和一些通用演算法,例如適用於機器學習應用的RANSAC、交叉驗證和網格搜尋;
- DiffSharp – 一個自動微分(AD)庫,能夠提供精確高效,用於機器學習和優化應用的導數(梯度、Hessians、雅可比行列式、方向導數、無矩陣Hessian-和雅可比向量積),操作可以巢狀到任何級別,這意味著你可以通過利用內部微分,來計算精確的高階導數,如超引數優化函式的應用;
- Vulpes – F#寫的Deep belief與深度學習的實現,並在Alea.cuBase下用CUDA GPU執行;
- Encog –一種先進的神經網路和機器學習框架。 Encog包含用於建立各類網路的類,同時也支援為神經網路規範和處理資料的類。它的訓練採用多執行緒彈性傳播。同時使用GPU加快處理時間,此外還提供了圖形化介面來幫助建模和訓練神經網路;
- Neural Network Designer – DBMS管理系統和神經網路的設計平臺,該設計應用程式使用WPF開發,是一個使用者介面,允許使用者設計自己的神經網路,查詢網路,建立和配置能夠提出問題、並能從反饋中學習的聊天機器人,聊天機器人甚至可以蒐集Internet上的資訊,以便在返回時輸出,或者用於學習;
資料分析/資料視覺化
- 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 – 用於資料分析和科學計算的互動環境,可以使用編譯程式碼(.NET)無縫連線指令碼(用IronPython),以實現快速、靈活的原型設計;該環境包括線性代數、資料視覺化等強大高效的庫,可供任何.NET語言使用,還為快速開發提供了功能豐富的互動式shell。
Objective
通用機器學習
- YCML – 用於Objective-C 和Swift (OS X / iOS)的機器學習框架;
- MLPNeuralNet –用於 iOS and Mac OS X的快速多層感知神經網路庫,可通過神經網路預測新例項,建立在蘋果公司的加速框架之上,如果需要,可利用向量化操作和硬體加速操作;
- MAChineLearning – Objective-C多層感知庫,通過反向傳播全面支援訓練,用vDSP和vecLib實現,比同等情況下的Java快20倍,包括從Swift使用的示例程式碼;
- BPN-NeuralNetwork – 能夠實現3層神經網路(輸入層、隱藏層和輸出層),其命名來源於BP神經網路(BPN),可用於產品建議、使用者行為分析、資料探勘和資料分析;
- KRKmeans-Algorithm – 它實現了K-均值聚類和分類演算法,可用於資料探勘和影象壓縮;
- KRFuzzyCMeans-Algorithm – 它實現了機器學習中的模糊C均值(FCM)模糊聚類/分類演算法,可用於資料探勘和影象壓縮;
OCaml
通用機器學習
自然語言處理
通用機器學習
Python
計算機視覺
- SimpleCV – 一個開源的計算機視覺框架,能夠訪問如OpenCV的高效能運算機視覺庫,用Python編寫,可執行在Mac、Windows和Ubuntu Linux等作業系統;
- Vigranumpy – Python繫結的VIGRA C++計算機視覺庫;
- OpenFace -免費的開源面部識別深層神經網路;
自然語言處理
- NLTK -用人類語言資料編寫Python程式的一個領先平臺;
- Pattern – Python程式語言的Web挖掘模組,有用於自然語言處理、機器學習等的工具;
- Quepy –一個Python框架,將自然語言問題轉換成資料庫查詢語言;
- TextBlob – 給常規的自然語言處理(NLP)任務提供一致的API,以NLTK和Pattern為基礎,並和兩者都能很好相容;
- YAlign – 語句校準器,較好地用於從比較語料庫中提取並行語句;
- jieba -中文分詞工具;
- SnowNLP –用於處理中文文字的庫;
- spammy – 建在NLTK之上的庫,用於垃圾郵件過濾;
- loso – 另一箇中文分詞庫;
- genius – 基於條件隨機域的中文斷詞庫;
- KoNLPy – 用於韓語自然語言處理的Python包;
- nut -自然語言理解工具包;
- Rosetta -文字處理工具和包裝器(例如Vowpal Wabbit);
- BLLIP Parser – Python繫結的BLLIP自然語言解析器(也稱為Charniak-Johnson解析器);
- PyNLPl – Python的自然語言處理庫,Python的通用NLP庫,還包含一些特定模組,用於常規的NLP格式分析,尤其是FoLiA和ARPA語言模型,Moses phrasetables,GIZA++ alignments等;
- python-ucto – Python繫結的ucto(包括Unicode,基於規則,各種語言的的標記生成器);
- python-frog – Python繫結的Frog,用於Dutch的NLP套件(詞性標註,詞性還原,依存分析,NER);
- python-zpar – Python繫結的ZPar,統計性的部分詞性標註,constiuency解析器和英語依存句法分析;
- colibri-core – Python繫結的C++庫,用於以快速和儲存器高效的方式提取並使用基本語言結構,例如-grams 和skipgrams;
- spaCy – 使用Python和Cython,NLP的產業優勢;
- PyStanfordDependencies –Python介面,用於將Penn Treebank樹轉換成Stanford Dependencies;
通用機器學習
- machine learning -自動構建網路介面,程式設計介面API套件,用於支援向量機;相應的資料集(多個)儲存到一個SQL資料庫,然後生成用於預測的模型(多個),再被儲存到NoSQL資料儲存中;
- XGBoost – Python繫結的 eXtreme Gradient Boosting(樹)庫;
- Featureforge -用於建立和測試機器學習的特點的一組工具,具有相容scikit學習的API;
- SimpleAI – 實現了許多書Artificial Intelligence, a Modern Approach書中描述的人工智慧演算法,著重於提供一個易於使用、方便存檔和測試的庫;
- astroML – 用於天文學的機器學習和資料探勘;
- graphlab-create – 實現各種機器學習模型(迴歸、聚類、推薦系統、圖形分析等)的庫,基於可以磁碟儲存的DataFrame;
- BigML – 用於連線外部伺服器的庫;
- pattern – Python Web挖掘模組;
- NuPIC – 智慧計算的Numenta平臺;
- keras -基於Theano的模組化神經網路庫;
- hebel – Python下的GPU加速深度學習庫;
- Chainer -靈活的神經網路架構;
- topik -主題建模工具包;
- PyBrain -另一個Python機器學習庫;
- Brainstorm – 繼PyBrain後,快速