机器学习常用框架

机器学习常用框架

本文仅是我个人为了记录在学习机器学习过程中使用的各个软件工具,以便于有整体的理解

先转载一个图,我觉得概括的很好:

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机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

原文地址:https://www.cnblogs.com/jiading/p/11750088.html