機器學習經常使用開發工具【轉】

原文地址:http://blog.csdn.net/sileixinhua/article/details/73611056java

機器學習經常使用開發工具

scikit-learn

http://scikit-learn.org/stable/python

創建在NumPy,SciPy和matplotlib上,Python中的機器學習庫,簡單高效的數據挖掘和數據分析工具。linux

功能有分類(SVM,nearest neighbors,random forest等),迴歸(SVR, ridge regression, Lasso等),聚類(k-Means, spectral clustering, mean-shift等),降維(PCA, feature selection, non-negative matrix factorization等),選擇模型(grid search, cross validation, metrics等),預處理(preprocessing, feature extraction等)。android

OpenCV(圖像處理與畢業論文大殺器)

http://opencv.org/ios

OpenCV具備C ++,C,Python和Java接口,並支持Windows,Linux,Mac OS,iOSAndroid。 
opencv專爲計算效率而設計,並強調實時應用。 
以優化的C / C ++編寫,庫能夠利用多核處理。 
經過OpenCL啓用,能夠利用底層異構計算平臺的硬件加速。 
OpenCV已經經過世界各地的用戶社區超過4.7萬人,估計下載量超過1400萬。 
使用範圍從互動藝術,到礦山檢查,在網上縫合地圖或經過先進的機器人。程序員

http://blog.csdn.net/sileixinhua/article/details/72810858 
使用OpenCV,40行代碼檢測人臉圖像。算法

tensorflow

https://www.tensorflow.org/shell

TensorFlow™是使用數據流圖進行數值計算的開源軟件庫。 
圖中的節點表示數學運算,而圖形邊緣表示在它們之間傳遞的多維數據陣列(張量)。 
靈活的架構容許您使用單個API將計算部署到桌面,服務器或移動設備中的一個或多個CPU或GPU。 
TensorFlow用於進行機器學習和深層神經網絡研究,但該系統廣泛足以適用於各類其餘領域。apache

caffe

http://caffe.berkeleyvision.org/編程

Caffe是一個深度學習框架,特色爲速度和模塊化。

http://demo.caffe.berkeleyvision.org/ 
cffe官方一個分類器的demo,能夠上傳照片而後查看分類結果

pyTouch

http://pytorch.org/

PyTorch是一個深度學習框架,將Python放在首位。

近年來PyTorch熱度上升,值得學習。

Java-ML

http://java-ml.sourceforge.net/

Java-ML簡而言之,機器學習算法的集合,有每種算法的公共接口和類型,主要針對軟件工程師和程序員,因此沒有GUI,但界面清晰,良好的源代碼。,大量的代碼示例和教程。

若是你實際開發環境是java的話比較推薦。

Spark

http://spark.apache.org/

Apache Spark是用於大規模數據處理的快速和通用引擎。 
運行程序比Hadoop MapReduce在內存中快100倍,或者在磁盤上運行速度要快10倍。 
在Java,Scala,Python,R中快速編寫應用程序。 
結合SQL,流式傳輸和複雜分析。 
Sparkhadoop,Mesos,獨立或雲端運行。 它能夠訪問不一樣的數據源,包括HDFS,Cassandra,Hbase和S3。

NumPy,pandas,matplotlib

NumPy是使用Python進行科學計算的基礎軟件包。 
強大的N維數組對象,複雜(廣播)功能,用於集成C / C ++和Fortran代碼的工具,有用的線性代數,傅里葉變換和隨機數能力。

pandas爲Python編程語言提供高性能,易於使用的數據結構和數據分析工具。

Matplotlib是一個Python 2D繪圖庫,能夠跨平臺生成各類硬拷貝格式和交互式環境的出版品質量圖。 Matplotlib可用於Python腳本,Python和IPython shell,jupyter筆記本,Web應用程序服務器和四個圖形用戶界面工具包。

keras

https://keras.io/

Keras是一種高級神經網絡API,用Python編寫,可以運行在TensorFlow,CNTK或Theano之上。 
開發重點是實現快速實驗。可以從想法到結果儘量快速的實現。 
容許簡單快速的原型(經過用戶友好,模塊化和可擴展性)。 
支持卷積網絡和遞歸網絡,以及二者的組合。 
在CPU和GPU上無縫運行。

theano

http://deeplearning.net/software/theano/

Theano是一個Python庫,定義,優化和評估涉及多維數組的數學表達式。 
與NumPy緊密集成 - 在Theano編譯的函數中使用numpy.ndarray。 
透明使用GPU - 執行數據密集型計算比在CPU上快得多。 
有效的象徵性差別 - Theano用一個或多個投入爲衍生工具作功能。 
速度和穩定性優化 - 即便x很小,也能爲日誌(1 + x)找到正確的答案。 
動態C代碼生成 - 更快地評估表達式。 
普遍的單元測試和自我驗證 - 檢測和診斷許多類型的錯誤。

NLTK

http://www.nltk.org/

NLTK是構建Python程序以處理人類語言數據的領先平臺。 
它爲超過50種語料庫和詞彙資源(如WordNet)提供易於使用的界面, 
以及一套用於分類,標記化,詞根,標記,解析和語義推理的文本處理庫,可用於工業級應用。

jieba

https://pypi.python.org/pypi/jieba/

「結巴」中文分詞:作最好的 Python 中文分詞組件。

Storm

http://storm.apache.org/

最火的流式處理框架。 
Storm能夠輕鬆地可靠地處理無限流數據,實時處理Hadoop對批處理的處理。 
可用於實時分析,在線機器學習,連續計算,分佈式RPC,ETL等。

Julia/R

https://julialang.org/

https://www.r-project.org/

Julia是數字計算中高性能動態編程語言。 
它提供了一個複雜的編譯器,能夠分佈式並行執行,高精度數字和普遍的數學函數庫。 
Julia的基礎庫主要用於Julia自己,還集成了成熟的,最好的開源C和Fortran庫,用於線性代數,隨機數生成,信號處理和字符串處理。 
此外,Julia開發人員社區正在經過Julia的內置軟件包管理器快速提供一些外部軟件包。 
Jupyter和Julia社區合做的IJulia爲Julia提供了強大的基於瀏覽器的圖形筆記本界面。

R是用於統計計算和圖形的免費軟件環境。 它能夠在各類UNIX平臺(Windows和MacOS)上編譯和運行。

Weka

http://www.cs.waikato.ac.nz/ml/weka/

Weka是數據挖掘任務的機器學習算法的集合。 這些算法能夠直接應用於數據集,也能夠從您本身的Java代碼中調用。 Weka包含用於數據預處理,分類,迴歸,聚類,關聯規則和可視化的工具。

相關文章
相關標籤/搜索