美文网首页机器学习学社程序员
机器学习之必备工具篇

机器学习之必备工具篇

作者: 一枚不只关注技术的技术宅 | 来源:发表于2019-01-04 15:35 被阅读93次
机器学习之必备工具篇

工欲善其事,必先利其器,那么首先我们就由机器学习的必备工具说起。


Python

如果在2-3年之前,Python和R之间确实有得一比,不过在2019年的今天,Python几乎是无悬念胜出。在Python的学习方面,我们需要明确的是,数据科学/机器学习这一块的编程和软件开发是有着非常大的不同。在入门到中级这个阶段,我们往往并不太需要数据结构和算法的支撑,因此我们在学习Python时要先把焦点集中在Python的基本数据类型和相关的开源函数库上。

Python之所以强大,最重要的一点就是它背后庞大的开源函数库,合理应用函数库不仅可以极大地缩短编写程序的时间,更可以有效地提升程序的运行效率。这里特别说明一下,合理运用函数库,往往能用库中的一行代码完成我们几十行代码的工作,这样自然是缩减了写代码的时间;而提升程序运行的效率,是因为已发布出的函数库往往是经过开发人员反复优化的程序,因此这些程序的效率会大大强于我们自己写出的程序,同时也省去了优化的步骤。这也是为什么我说入门到中级阶段都不太需要掌握数据结构和算法的原因。但是到了高级阶段,损失函数等都是需要自己定义和编写的,这个时候就必须要有强大的数学和算法功底做基础,这点我们以后会慢慢提到。


Python开源函数库

我把函数库单独拿出来讲,是因为真的很重要,很重要,很重要。上边已经讲到函数库在缩减编写代码的时间以及提升程序运行效率方面的作用,现在特别来说一下做机器学习常用到的库:

Numpy:提供基础的数学运算及矩阵处理功能

Scipy:提供数学运算、统计分析及数学优化的算法

Pandas:数据的清洗整理、缺失值填充、矩阵合并拆解、数据行列运算等,是整理数据最常用到几乎也是唯一用到的函数库

Scikit-Learn(Sklearn):提供了包括分类算法(Classification)、聚类算法(Clustering)、回归算法(Regression)、集成算法(Ensemble) 、预处理(Preprocessing)、划分训练集验证集、特征选择(Feature Selection)、特征提取(Feature Extraction)等几乎所有机器学习需要用到的算法,是建立模型必备也是最好的函数库

Statsmodel:提供了统计学分析的工具,如置信区间(Confidence Interval)、P值、侧重于统计学方法的逻辑回归与线性回归等的实现,需要用到统计学分析方法的同学可以研究一下。不过做统计分析我还是建议用R或者SAS,毕竟它们是更为专业的统计分析工具,功能会比Statsmodel要全面太多。

mlxtend:提供了一些Sklearn和Statsmodel中没有实现的算法,用到的地方不多,感兴趣的同学可以看一下

Keras:Sklearn风格的深度学习库,后台用TensorFlow编写,因此运行速度及效率和TensorFlow是完全相同的,编程方式相对TensorFlow要简单太多,但是对神经网络整体结构的操控又会比TensorFlow差,适合初学者

TensorFlow:深度学习库,Google开源项目,目前最流行的深度学习框架,但是编写相对较复杂,不太适合初学者

PyTorch:深度学习库,Facebook开源项目,目前上升势头迅猛,相对来说也不适合初学者

Matplotlib:Python中最基础的可视化函数库,提供了Matlab风格的可视化方案,库名即是Matlab Plot Library的缩写

Seaborn:建立于Matplotlib之上的函数库,优化了Matplotlib的一些显示风格,增添了一些高阶的可视化方式

Plotly:非常好用的可视化工具,提供了可交互式的可视化,缺点是使用起来相对复杂,需要花费不少时间对它的内部规则进行研究

Bokeh:和Plotly一样,也是可交互式的可视化工具,缺点也是使用相对复杂

Anaconda环境管理工具

Anaconda是一款方便的虚拟环境管理(Virtual Environment Management)工具,目前已经推出了支持Windows、Linux和MacOS的客户端,内部集成了1400多个Python的函数库。有时在工作中,不同的项目我们需要用到不同的Python版本和不同的函数库版本,而虚拟环境就可以让我们非常方便的切换环境,每一个项目使用一个独立的虚拟环境,既不会由于误操作损坏电脑的环境,又可以方便的把环境复制到别的电脑上。

Python编辑器

之前我专门写了一篇文章推荐Jupyter Notebook,对我来说,Jupyter Notebook一定是首选的编辑器。另外PyCharm在工程实现方面也是常常用到,还有轻量级的编辑器如Atom和VS Code也提供了非常好的编程体验。

英语文献阅读能力

现在几乎95%以上的学习资源都是由英文编写的,而所有的最新成果,包括Python版本的更新、函数库版本的更新等等都一定是先用英文推出,如果不看英文资源的话,可能会无法跟上整个行业发展的步伐。好在现在有很多的公众号和大V都在志愿做资源的翻译工作,虽然翻译的数量与英文原版相比仍是凤毛麟角,但这证明有越来越多的人愿意去做翻译文献这件事情,这对整个行业的发展有极大的好处。

科学上网

微信扫码关注机器学习学社公众平台,更多资讯早知道,更多学习干货等你来拿

相关文章

  • 机器学习之必备工具篇

    工欲善其事,必先利其器,那么首先我们就由机器学习的必备工具说起。 Python 如果在2-3年之前,Python和...

  • 第一部分 数学基础

    机器学习涉及到很多的工具,其中最重要的当属数学工具了,因此必要的数学基础可谓是打开机器学习大门的必备钥匙。机器学习...

  • 机器学习之必备知识篇

    上一篇说到了从事机器学习所必备的一些工具,今天来讲讲必备的基础知识。 目前市面上有非常多的大数据培训班,但真正意义...

  • 开发人员必备工具书目录

    开发人员必备工具 开发人员必备工具之构建 开发人员必备工具之字节码操作 开发人员必备工具之代码分析 开发人员必备工...

  • AI 开发工具总结

    AI 开发工具总结机器学习工具开发工具包:机器学习的开源工具深度学习工具github 上一些工具: 参考 机器学习...

  • pwndbg在Ubuntu下的安装

    学习ctf必备的工具 pwndbg是GitHub上的一个项目,用于GDB的辅助增强。机器环境: Linux Min...

  • 再出发-机器学习

    机器学习: 知识点链接: 面试必备 | 机器学习、深度学习面试知识点汇总[https://mp.weixin.qq...

  • iOS必备工具之网络篇

    1.程序员必备的变量命名神器——Codelf 不会命名怎么搞?命名不知道怎么翻译?。。。来找Codelf 地址留下...

  • 【CheatSheets】AI速查表集合 一图胜千言

    机器学习和深度学习工程师必备-速查表机器学习很复杂。对于新手来说,如果他们没有合适的学习资源,则开始学习机器学习会...

  • 一本书,两个网站,边学边用入门Python

    Python已经妥妥成为数据挖掘和机器学习的必备工具,但是国内的计算机,数据科学专业并没有开设相关的Python课...

网友评论

    本文标题:机器学习之必备工具篇

    本文链接:https://www.haomeiwen.com/subject/yjfkrqtx.html