为什么说Jupyter Notebook是用Python做机器学习最好用的IDE
前两天我们为大家总结了一下AI在2018年的发展以及对2019年AI应用的展望,今天我们便将回归到技术博客的本质,为大家讲讲为什么我对Jupyter Notebook如此推崇,以及为什么Jupyter Notebook与机器学习/数据分析是完美的搭配组合。
在讲为什么之前,先来详情一下什么是Jupyter Notebook(以下简称Jupyter)。简单来说,它是一种板块化的Python编辑器(现在也支持R等多种语言),即在Jupyter中,你可以把大段的Python代码碎片化解决,分开每一段来运行。在软件开发中,Jupyter可能显得并没有那么好用,这个板块化的功能反而会破坏掉程序的整体性;但是当你在做数据解决、分析、建模、观察结果等的时候,Jupyter板块化的功能不仅会为你提供更好地视觉体验,更能大大缩小运行代码及调试代码的时间,同时还会让你整个解决和建模的过程变得异常清晰,接下来我将为大家逐个详细讲述Jupyter的这些优点。
Jupyter Notebook将Python的交互式特点发挥到了极致
熟习Python的同学肯定对Python的交互式功能感触颇深。当工作后有一次和一个做嵌入式好友聊起Python时,同学表示他被Python的易读性和交互性所震惊了。做嵌入式用的C和C++每次都要经过编译,而且每一行的代码没有办法单独运行。与之不同的是,Python的每一行都像是人类交流所用的文字一样,简单易懂且有交互性,所谓交互性,就是有问有答,你输入一句,它便返回一句的结果。但在一般的IDE中(如PyCharm),Python的这一交互功能被极大地限制,通常我们会将程序整段编写之后一起运行。而在Jupyter当中,我们可以每写几行或者者每完成一个小的板块便运行一次。也许对于软件工程师们来说,这个功能并没有多大的吸引力;但是对身为机器学习工程师的我们来说,这个功能可以说是我们的大救星。
熟习机器学习和数据分析的朋友肯定知道,分析和建模是非常碎片化的工作,而每一块的碎片又有着非常强的独立性,甚至可以说除了数据本身之外,每一块的代码之间并没有很强的关联性。数据分析和解决的过程往往是一个不断实验的过程,我们需要一次又一次的改变预解决的方式、尝试不同的特征工程解决、一遍又一遍的调整着模型参数等等等等。每一部分的工作都需要反复实验反复修改,而下一板块需要用到的只不过是上一板块输出的数据。通过Jupyter,我们可以最快的得知自己做出的调整是好还是坏,并尽快进入到下一次的实验当中。
以下是Jupyter Notebook与其余IDE输出结果的比照:
PyCharm
Jupyter Notebook
说到Jupyter Notebook,就不得不提到Anaconda。Anaconda是一款便捷的环境管理工具,利用Anaconda可以轻松创立虚拟环境,快速下载安装Python中的各种函数库。Anaconda中集成了1400数据科学/机器学习的函数库,目前这些库适配于Python 3.6,Python 3.7,以及Python 2.7三个版本。Anaconda让机器学习在Jupyter中更容易实现,也更容易去观测。
以下是部分Anaconda中的函数库:

Jupyter Notebook更利于汇报和教学
Jupyter在工作汇报和教学方面也是非常的优秀。因为Jupyter本身的板块化和内容的清晰化,使得其天生具备如PPT一般的展现工作成果的功能。

如上图所示,因为Jupyter中可以将输出结果嵌套在Notebook中,并且支持Markdown语句的操作,这样使得你可以在Jupyter中输入任何你需要展现的内容,并且这些内容都会以一种有组织有层次的样子排列出来。
而当Jupyter被应用于教学时,老师可以利用这个特点设置相应的题目以及部分的讲解内容,而学生则负责填满老师所留的空白,以达到老师作业的要求。目前Jupyter已经被各大慕课(MOOC)平台广泛应用。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 为什么说Jupyter Notebook是用Python做机器学习最好用的IDE