如果您认真进行Python数据分析和机器学习,那么您将充分利用IPython Notebook。
在本篇文章中,我们将回顾IPython的创建者Fernando Perez在SciPy 2013的keynote演讲中的一些要点。
演讲的标题是“IPython:使用单个工具从Shell到书籍;疯狂背后的方法”。
通过我新书《Python机器学习精通》来启动您的项目,其中包括分步教程和所有示例的Python源代码文件。
让我们开始吧。
Fernando以Richard Hamming (1962)在《科学与工程师数值方法》序言中的一句精彩引言开始演讲,这句话值得重复:
计算的目的是洞察,而不是数字
需要 Python 机器学习方面的帮助吗?
参加我为期 2 周的免费电子邮件课程,探索数据准备、算法等等(附带代码)。
立即点击注册,还将免费获得本课程的 PDF 电子书版本。
Fernando提出了他所谓的科学思想生命周期的示意图,如下所示:
- 个人:探索性工作
- 协作:开发
- 并行:生产运行
- 出版:带有可重复的结果
- 教育:分享所学到的知识
- 转到步骤1
他强调了能够在此过程中前后移动的要求,这意味着它不是线性的。他评论说,IPython是在2001年10月或11月设计的,以满足这一要求。
IPython最初只是一个更好的Python shell。它发展到包含实时交互式绘图,然后是实时交互式并行计算和嵌入应用程序。交互性很重要,它是IPython中的“I”。该平台已经经历了6个迭代,并达到了IPython Notebook。
IPython Notebook允许您包含可执行Python代码单元和markdown描述。这使得单个文档能够包含描述、计算(如Python脚本和程序)以及运行计算产生的工件(如结果和图)。这是一个简单但非常强大的沟通工具。
Fernando将这描述为“字面计算”,这是对Knuth的“字面编程”的进一步发展。
一个重要的贡献是IPython Notebook Viewer,它可以为您渲染任何Notebook,并在网络上展示。这项服务与GitHub等网络上的开源Notebook文件结合使用,是一个强大的资源。
然后,Fernando提供了一些基石Notebook示例来强调该技术的优势。
可重复的研究论文
论文《协作式云支持工具可实现快速、可重复的生物学洞察》及其相关的材料。
该论文是以IPython Notebook的形式开发和撰写的。它包括描述、计算、结果,甚至是可以启动集群以在集群上并行执行计算的配置。完全可重复的研究。
基于Notebook的技术博客
Jake VanderPlas的博客“Pythonic Perambulations, Musings and ramblings through the world of Python and beyond”。
Jake使用IPython Notebook进行博客写作,允许将描述、计算和执行计算的输出(如图表)结合起来。
Python黑客的贝叶斯方法
《Python黑客的贝叶斯方法》一书由Cameron Davidson-Pilon开发,作为一系列IPython Notebook(每章一个)供您学习。
这是一本高质量的书,也是该技术的一个绝佳用例和演示。
Fernando花费了一些时间描述IPython内核和Shell的令人印象深刻的架构,并认为了解这些材料会很有价值。
有关更多信息,您可以查看IPython主页以及这个精心挑选的“有趣的IPython Notebooks”图库。
IPython(现为Jupyter Notebooks)是一个出色的工具,我敢说它改变了数据科学家、数据分析师和机器学习爱好者分享、改进和补充知识的方式。Kaggle、DataBricks、Zeppelin和Skymind等许多公司都采用了这种以交互方式展示我们工作的方式。
您是否将Jupyter Notebook与Python以外的其他语言一起使用过?您的体验如何?非常感谢您的时间和关注。
请继续保持出色的工作!
我避免使用它们,并且通常建议学生改用命令行,因为Notebook可能会引入环境问题并隐藏真正的错误。在我推荐使用它们时,我收到了许多来自困惑的初学者的电子邮件。