使用单个工具从Shell到书籍的IPython,Fernando Perez

如果您认真进行Python数据分析和机器学习,那么您将充分利用IPython Notebook。

在本篇文章中,我们将回顾IPython的创建者Fernando Perez在SciPy 2013的keynote演讲中的一些要点。

演讲的标题是“IPython:使用单个工具从Shell到书籍;疯狂背后的方法”。

通过我新书《Python机器学习精通》来启动您的项目,其中包括分步教程和所有示例的Python源代码文件。

让我们开始吧。

Fernando以Richard Hamming (1962)在《科学与工程师数值方法》序言中的一句精彩引言开始演讲,这句话值得重复:

计算的目的是洞察,而不是数字

需要 Python 机器学习方面的帮助吗?

参加我为期 2 周的免费电子邮件课程,探索数据准备、算法等等(附带代码)。

立即点击注册,还将免费获得本课程的 PDF 电子书版本。

Fernando提出了他所谓的科学思想生命周期的示意图,如下所示:

  1. 个人:探索性工作
  2. 协作:开发
  3. 并行:生产运行
  4. 出版:带有可重复的结果
  5. 教育:分享所学到的知识
  6. 转到步骤1
Lifecycle of a scientific idea

科学思想的生命周期

他强调了能够在此过程中前后移动的要求,这意味着它不是线性的。他评论说,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”。

Pythonic Perambulations

来自Jake VanderPlas的Pythonic Perambulations的截图

Jake使用IPython Notebook进行博客写作,允许将描述、计算和执行计算的输出(如图表)结合起来。

Python黑客的贝叶斯方法

《Python黑客的贝叶斯方法》一书由Cameron Davidson-Pilon开发,作为一系列IPython Notebook(每章一个)供您学习。

Bayesian Methods for Hackers

Python黑客的贝叶斯方法

这是一本高质量的书,也是该技术的一个绝佳用例和演示。

Fernando花费了一些时间描述IPython内核和Shell的令人印象深刻的架构,并认为了解这些材料会很有价值。

有关更多信息,您可以查看IPython主页以及这个精心挑选的“有趣的IPython Notebooks”图库。

发现 Python 中的快速机器学习!

Master Machine Learning With Python

在几分钟内开发您自己的模型

...只需几行 scikit-learn 代码

在我的新电子书中学习如何操作
精通 Python 机器学习

涵盖自学教程端到端项目,例如
加载数据可视化建模调优等等...

最终将机器学习带入
您自己的项目

跳过学术理论。只看结果。

查看内容

对《使用单个工具从Shell到书籍的IPython,Fernando Perez》的2条回复

  1. Jesús Martínez 2018年3月31日 上午1:56 #

    IPython(现为Jupyter Notebooks)是一个出色的工具,我敢说它改变了数据科学家、数据分析师和机器学习爱好者分享、改进和补充知识的方式。Kaggle、DataBricks、Zeppelin和Skymind等许多公司都采用了这种以交互方式展示我们工作的方式。

    您是否将Jupyter Notebook与Python以外的其他语言一起使用过?您的体验如何?非常感谢您的时间和关注。

    请继续保持出色的工作!

    • Jason Brownlee 2018年3月31日 上午6:37 #

      我避免使用它们,并且通常建议学生改用命令行,因为Notebook可能会引入环境问题并隐藏真正的错误。在我推荐使用它们时,我收到了许多来自困惑的初学者的电子邮件。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。