您好
基于以下三个原因,我们选择python作为实现机器学习算法的编程语言:(1) python的语法清晰;(2) 易于操作纯文本文件;(3) 使用广泛,存在大量的开发文档。
可执行伪代码
python具有清晰的语法结构,大家也把它称作可执行伪代码(executable pseudo-code)。默认安装的python开发环境已经附带了很多高级数据类型,如列表、元组、字典、集合、队列等,无需进一步编程就可以使用这些数据类型的操作。使用这些数据类型使得实现抽象的数学概念非常简单。此外,读者还可以使用自己熟悉的编程风格,如面向对象编程、面向过程编程、或者函数式编程。不熟悉python的读者可以参阅附录a,该附录详细介绍了python语言、python使用的数据类型以及安装指南。
python语言处理和操作文本文件非常简单,非常易于处理非数值型数据。python语言提供了丰富的正则表达式函数以及很多访问web页面的函数库,使得从html中提取数据变得非常简单直观。
python比较流行
python语言使用广泛,代码范例也很多,便于读者快速学习和掌握。此外,在开发实际应用程序时,也可以利用丰富的模块库缩短开发周期。
在科学和金融领域,python语言得到了广泛应用。scipy和numpy等许多科学函数库都实现了向量和矩阵操作,这些函数库增加了代码的可读性,学过线性代数的人都可以看懂代码的实际功能。另外,科学函数库scipy和numpy使用底层语言(c和fortran)编写,提高了相关应用程序的计算性能。本书将大量使用python的numpy。
python的科学工具可以与绘图工具matplotlib协同工作。matplotlib可以绘制2d、3d图形,也可以处理科学研究中经常使用到的图形,所以本书也将大量使用matplotlib。
python开发环境还提供了交互式shell环境,允许用户开发程序时查看和检测程序内容。
python开发环境将来还会集成pylab模块,它将numpy、scipy和matplotlib合并为一个开发环境。在本书写作时,pylab还没有并入python环境,但是不远的将来我们肯定可以在python开发环境找到它。