为什么说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)平台广泛应用。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容