Page 36 - 高中 信息技术 选择性必修4 人工智能初步
P. 36
第二章 人工智能基础算法及应用
的程序任务,还具备面向对象编程等各式各样的强大功能。不同于C语言等编译型语言,
Python作为一门解释型语言,也非常便于调试代码。同时,Python免费使用和跨平台的特
性,也使这门编程语言吸引了越来越多开源库的贡献者和使用者。使用Python编程至少有
以下四项优势:
1. 方便调试的解释型语言
Python是一门解释型编程语言,源代码都要通过解释器(Interpreter)转换为独特的字
节码,这个过程不需要保证全部代码一次性通过编译。相反,Python解释器会逐行处理这
些代码,这样方便了程序调试,也特别适合于使用不同机器学习模型进行增量式开发。
2. 跨平台执行作业
通过在不同的平台安装用于运行上述字节码的虚拟机,Python便可以执行跨平台作
广东教育出版社
业。由于机器学习任务通常会在多种平台执行,因此以Python这类解释型语言作为编码媒
介不失为一种好的选择。
3. 丰富的应用程序编程接口
除了编程人员所使用的第三方程序库以外,许多著名公司用于科研和商业的云平
台都为互联网用户提供了支持机器学习功能的Python应用程序编程接口(Application
Programming Interface,简称API)。许多平台的机器学习功能模块不需要由用户来编写,
用户只需要像搭积木一样,通过Python语言并且遵照云平台的编写协议与规则,把各个模
块串接起来即可实现不同的功能。
4. 丰富完备的开源工具包
软件工程中有一个非常重要的理念,便是代码与程序的重复利用性。为了构建功能强
大的机器学习系统,如果没有特殊的开发需求,通常情况下,我们都不会从零开始编程。
比如,机器学习算法中经常会使用的向量计算,如果Python中没有直接提供用于向量计算
的工具,我们还需要自己花时间编写这样的基础功能吗?答案是否定的。Python自身免费
开源的特性使得大量专业的编程人员参与到Python第三方开源工具包(程序库)的构建
中。更为可喜的是,大多数的工具包都允许个人免费使用,乃至商用。这其中就包括便于
向量、矩阵和复杂科学计算的NumPy与SciPy,便于绘图的Matplotlib,包含大量经典机器学
习模型的Scikit-learn,对数据进行快捷分析与处理的Pandas,以及集成了上述所有第三方
程序库的综合实践平台Anaconda。
下面介绍几种常用的Python第三方开源工具包。
(1)NumPy与SciPy。
NumPy是最基础的Python工具包,除了提供高级数学运算机制以外,还具备非常高效
的向量和矩阵运算功能,这些功能对于机器学习的计算任务尤为重要。而NumPy更为突出
的是它内部独到的设计,使得矩阵和向量计算的处理效率比Python自带程序库的运行效率
高出许多。SciPy则是在NumPy的基础上构建的更为强大,应用领域也更为广泛的科学计算
包,SciPy需要依赖NumPy的支持运行。
(2)Matplotlib。
Matplotlib是Python编程环境下的开源2D绘图工具包,可以在跨平台的交互式环境中生
28 28
21Y3228.indd 28 2019/10/10 14:23:27