“工欲善其事,必先利其器”。来了解一下机器学习的工具利器。
一、 开发语言
首选 Python。
由于 Python 的易用性及python社区的活跃度,机器学习在python这门语言上发展地如火如荼。
Python 有许多有用的包和库,提供给开发者。
关于语言入门课程,可以参考这里
1. 版本选择
首选 3.5 及以上版本,因为 2.7 版本将在未来放弃维护。
2. 开发工具
Python 的开发工具有很多,比如 PyCharm、Jupyter Notebook(IPython)、IDEA, 甚至 sublime txt 、vim之类的文本编辑器都可以。 这都得益于 Python 这门脚本语言的易用性特点。
那么首选是什么呢?答案是:Jupyter Notebook(IPython) 。
优点如下:
- 支持多语言:python, Julia, R, Scala
- 易于分享
- 交互式编程,可即时获得结果
3. 环境配置
pip
pip 是 Python 包管理工具,通过它,我们可以对Python 包的进行查找、下载、安装和卸载。
详情查看官网。
virtualenv
virtualenv 的厉害之处就是,它可以为每一个应用创建一套“隔离”的Python运行环境。 这样子我们开发起不同项目时,包的引用就不会互相干扰了。
详情查看官网。
二、 常用的库
1. numpy
NumPy是Python语言的一个扩充程序库。
支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
Numpy内部解除了Python的PIL(全局解释器锁), 运算效率极好, 是大量机器学习框架的基础库!
官方文档。
2. pandas
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
官方文档。
3. matplotlib
Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。
Matplotlib 只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等。
官方文档。
4. scikit-learn
SciKit learn的简称是SKlearn,是一个python库,专门用于机器学习的模块。
SKlearn包含的机器学习方式:分类,回归,无监督,数据降维,数据预处理等等,包含了常见的大部分机器学习方法。
官方文档。
三、 框架
1. TensorFlow
最出名的莫过于 Google 的 TensorFlow。
TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。
节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。
它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。
它拥有友好的中文文档。
四、 总结
关于机器学习的工具,还有很多,我这里只提到了自己常用的一些,以后如果有必要,我会继续修改这篇文章。