機器學習常用框架


機器學習常用框架

本文僅是我個人為了記錄在學習機器學習過程中使用的各個軟件工具,以便於有整體的理解

先轉載一個圖,我覺得概括的很好:

img

來源:https://blog.csdn.net/u014410989/article/details/89947128

Pandas

來源:https://www.pypandas.cn/

Pandas是一個強大的分析結構化數據的工具集;它的使用基礎是Numpy(提供高性能的矩陣運算);用於數據挖掘和數據分析,同時也提供數據清洗功能。

numpy

來源:https://www.numpy.org.cn/

NumPy 是什么?

NumPy是使用Python進行科學計算的基礎軟件包。除其他外,它包括:

  • 功能強大的N維數組對象。
  • 精密廣播功能函數。
  • 集成 C/C+和Fortran 代碼的工具。
  • 強大的線性代數、傅立葉變換和隨機數功能。

來源:https://www.runoob.com/numpy/numpy-tutorial.html

NumPy 通常與 SciPy(Scientific Python)和 Matplotlib(繪圖庫)一起使用, 這種組合廣泛用於替代 MatLab,是一個強大的科學計算環境,有助於我們通過 Python 學習數據科學或者機器學習。

SciPy

來源:https://zh.wikipedia.org/wiki/SciPy

SciPy是一個開源Python算法庫和數學工具包。

SciPy包含的模塊有最優化線性代數積分插值特殊函數快速傅里葉變換信號處理圖像處理常微分方程求解和其他科學與工程中常用的計算。與其功能相類似的軟件還有MATLABGNU OctaveScilab

sklearn

SciKit learn的簡稱是SKlearn,是一個開源的python庫,專門用於機器學習、數據挖掘和數據分析的模塊。它建立在 NumPy ,SciPy 和 matplotlib 上。

來源:https://www.zhihu.com/question/53740695

Tensorflow和Caffe、MXNet等是針對深度學習特制的工具包,而Scikit-learn是對傳統的機器學習,包括預處理,特征工程,模型構建,驗證等的完整實現。這兩類工具壓根不是做同一件事的。

說實話,即使現在深度學習大行其道,很多時候你還是要用傳統機器學習方法解決問題的。首先不是每個人都有一個彪悍的電腦/服務器,其次,大多數問題真的不需要深度網絡。最后,只會調用工具包的程序員不是好的機器學習者。

caffe

來源:https://zh.wikipedia.org/wiki/Caffe

Convolutional Architecture for Fast Feature Embedding)是一個深度學習框架,最初開發於加利福尼亞大學伯克利分校。Caffe在BSD許可開源,使用C++編寫,帶有Python接口[4][5]

pyTorch

來源:https://zh.wikipedia.org/wiki/PyTorch

PyTorch是一個開源Python機器學習,基於Torch[1][2][3],底層由C++實現,應用於人工智能領域,如自然語言處理。[4] 它最初由Facebook的人工智能研究團隊開發,[5][6][7]並且被用於Uber概率編程軟件Pyro。[8]

PyTorch主要有兩大特征:[9]

PyTorch包括torch.nn、torch.optim等子模塊[12]

tensorflow

來源:http://www.tensorfly.cn/

TensorFlow™ 是一個采用數據流圖(data flow graphs),用於數值計算的開源軟件庫。節點(Nodes)在圖中表示數學操作,圖中的線(edges)則表示在節點間相互聯系的多維數據數組,即張量(tensor)。它靈活的架構讓你可以在多種平台上展開計算,例如台式計算機中的一個或多個CPU(或GPU),服務器,移動設備等等。TensorFlow 最初由Google大腦小組(隸屬於Google機器智能研究機構)的研究員和工程師們開發出來,用於機器學習和深度神經網絡方面的研究,但這個系統的通用性使其也可廣泛用於其他計算領域。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM