Pandas库构建在NumPy上,并为Python编程语言易于上手

简介:   Pandas库构建在NumPy上,并为Python编程语言易于上手的数据结构和数据分析工具,该速查表可用于Python数据科学和机器学。

  By蒋思源 2017年7月17日  机器之心此前曾过机器学习和深度学习最好的九张代码速查表,不过近日又有博主发表了一次完全的速查表。

虽然有一些和以前是重复的,但还是增加了一些新的速查表。

这些速查表暂时是保持英文的,因为后面一些不熟悉的库和函数我们可能编译不太精确。

    首先第一张图描述了机器学习的主要分类和算法。

    算法选择  下面一张图展示了如何为我们工作和任务选择正确的Scikit-learn算法。

其中每一个节点都是一个条件,然后按照要求和情况进行就可以找到管用的算法。

这种选择算法的速查表确实很管用,很适合我们没有什么机器学习开发经验的入门者使用,因为这会大大提高我们构建系统的效率。

    机器之心以前也发过初学者如何选择合适的机器学习算法,该文章也有一张速查表,我们可以在以下展示。

这一张速查表可以在特定任务下指导我们到底需要选择什么样的机器学习算法。

例如我们的数据不需要降维、有标注、预测的是类别、更关注模型精度,那么就可以选择带核函数的支持向量机、随机森林、神经网络和梯度提升树算法。

    如下图所示,我们还有这一张算法选择的速查表。

该速查表可以帮助我们在微软Azure平台上找到合适的机器学习算法,它会首先根据我们已有数据的特点和类型进行分类,其次再根据实际情况给出合适的算法。

例如我们的任务是预测一个类别、且该预测会存在多个类别而不仅仅只有两个,那么如果我们希望模型能快速训练且准确度也要高,那么我们就可以选择多类别决策森林。

    算法概念  我们不仅需要了解如何构建机器学习模型,同时我们还需要理解构建机器学习的各种概念。

如下所示,这两张速查表介绍了很多统计学、线性代数、最优化理论和机器学习理论上的概念,这些概念在模型构建和模型操作计算上有很重要的意义。

比如前面就介绍了线性代数中的施密特正交化(GramSchmidtOrthogonalization)概念,如下所述施密特正交化可以将n个线性无关向量转化为n个互相正交的向量,该速查表给出了转化公式。

还有后面常用于最优化的梯度和海塞矩阵的求解方法,该速查表用一阶偏导数向量的形式表示了梯度的定义,二阶偏导数及其在矩阵中的位置表示了海塞矩阵的定义方式。

当然机器学习的概念也少不了,比如前面的决策边界和后面的反向传播算法公式等。

如下图所示,该速查表不仅简要介绍了TensorFlow、Skflow和Keras,同时还描述了如何安装和获得帮助的函数。

该速查表还重点描述了TensorFlow的常用函数,如常见的梯度下降法、适应性梯度算法和Adam优化算法等优化器,常见的ReLU、Sigmoid和tanh等函数。

  神经网络  下图相信不少读者已经挺熟悉了,该图使用不同颜色和符号代表不同的单元而描述了神经网络的各种架构。

  库和函数语法速查表  1.Keras  Keras是一个非常强大且容易上手的深度学习库;当Keras接入Theano和TensorFlow时,后两者可高水平的神经网络API以开发和评估深度学习模型。

  2.Numpy  Numpy库是Python中科学性计算的核心库,它高性能、多维度的数组对象,以及对这些数组进行运算的工具。

  Pandas库构建在NumPy上,并为Python编程语言易于上手的数据结构和数据分析工具,该速查表可用于Python数据科学和机器学。

  4.SciPy  SciPy库是科学性计算的核心包之一,科学性计算可数学算法和构建在Python的NumPy扩展上的便捷函数(ConvenienceFunctions);该表中还包括线性代数的部分。

  5.Matplotlib  Matplotlib是一个Python2D绘图库,它在平台上以多种硬拷贝格式和交互环境生成发表品质的图。

  6.Scikit-learn  Scikit-learn是一个开源Python库,通过统一接口实现一系列的机器学习、预处理、交叉验证和视觉化算法。

  7.ggplot2  ggplot2基于图形语法,其思想是你可以利用相同的几个组件构建所有的图形:一个数据集、一个几何集(表征数据点的视觉化标记)和一个协作系统。


以上是文章"

Pandas库构建在NumPy上,并为Python编程语言易于上手

"的内容,欢迎阅读甘青宁科技网的其它文章