天天看点

《机器学习系统设计:Python语言实现》一第2章 工具和技术

.本节书摘来自华章出版社《机器学习系统设计:python语言实现》一书中的第2章,作者 [美] 戴维·朱利安(david julian),更多章节内容可以访问云栖社区“华章计算机”公众号查看

python具备大量可用于机器学习任务的包库。

本章将探索以下包:

ipython控制台;

numpy,支持多维数组、矩阵和高阶数学函数的扩展;

scipy,包含科学公式、常数和数学函数的库;

matplotlib,用于制图;

scikit-learn,用于诸如分类、回归和聚类等机器学习任务的库。

要尝试这些巨大的库,你只需要有足够的空间和一项重要的技能,就是能够发现和理解各种包的参考资料。在教程风格的文档里不可能呈现所有不同的功能,因此能够不迷失在那些有时庞杂的api参考手册中就显得尤为重要。要知道,这些包多数是由开源社区放在一起的,并不会像商业产品一样具有整体结构,因此,要理解各种包的分类系统可能是混乱的。然而,开源软件的多样性,及其不断贡献的思想,是其重要的优势。

但是,开源软件的演进质量有其不足的一面,尤其是对于机器学习应用而言。例如,python机器学习用户社区非常不情愿由python 2升级为python 3。因为python 3打破了向后兼容性,特别是对数值的处理,升级相关包的过程并不简单。在写本书的时候,所有重要的包(对我而言),以及所有本书中用到的包,在python 2.7和3x中都可以运行。python的主要发布在python 3版本下有一些略有不同的包。