机器学习以及相关的数据科学项目中,JupyterNotebook几乎已成为这个领域的标准编辑器,交互式的开发、调试和可视化都在其提供的网页中进行。正因为这些特点,笔者认为这简直就是年图灵奖获得者,伟大的计算机科学家DonaldKnuth提出的文学化编程(LiterateProgramming)最有力的工程实践。笔者也已经习惯在其中编写文档,例如这篇文章就是在该环境下编写的:
编辑器文学化编程解释:
“充分展示程序设计的艺术性:清晰,美感,诗意
例子:
“在JupyterNotebook中混合编写文档、代码和输出可视化图形,并直接导出程序设计文档、代码、数据科学汇报的slides等
jupyter导出菜单参考:
1、百度搜索:DonaldKnuth
Python环境的多变Python这一计算机开发语言至发布以来,应用非常广泛,更新迭代非常快。就目前计算机行业里使用最多的有两个Python版本:Python2和Python3,但令人沮丧的是它们并不能完全兼容。另外,开源的Python包成千上万,背后数以万计的Python开发人员在不断地提交更新和迭代,这也导致了同一Python包的之间具有差异性,这正是Python令人诟病的点——兼容与环境。拿scikit-learn为例,pypi.org显示,scikit-learn于年9月发布了版本0.18,年8月发布0.19,年9月发布0.20,年0.22,年0.23。
Python工程师(此处不仅仅指机器学习开发人员)在使用Python开发时,将面临一个Python环境不一致的问题:开发环境和线上环境不一致,即程序在本地测试通过后,上线后很有可能由环境的差异而出现bug,令人咋舌。这里的不一致除了以上的版本差异外,还涉及平台的差异。为了解决这个问题,Python社区推荐大家使用虚拟环境,并提供了相关的工具。虚拟环境下,每个环境与其他Python虚拟环境隔离,互不影响。较为熟悉工具有:virtualenv(virtualenvwrapper),pyvenv,conda、Pipenv等。
数据科学开发环境Anaconda是数据科学中最常使用的环境,由于Python相关包的经常升级,也面临时常的升级,常用的方式即是建立Python虚拟环境。
在JupyterNotebook右侧的“新建”下拉菜单中大家将会看到原环境和新建立的虚拟环境。
通过这种方式,读者可在不同的项目中使用不同的虚拟环境进行适配开发。
目的和意义本文的目的:解决开发环境与模型上线环境的配置和一致性为问题
1、规范和标准:定义数据科学环境的模板,实现开发环境标准和规范
2、工具便利性:使用命令式的方式实现Python环境、数据科学环境的快速配置和启动
3、一致性:开发和线上环境的一致性
基础JupyterNotebook介绍与使用1、安装:
在Python环境中安装:pipinstallnotebook专为数据科学定制的Python发行版Anaconda中包含JupyterNotebook,安装Anaconda后可直接使用JupyterNotebookAnaconda安装:官方下载页面选择与自己操作系统匹配的安装包安装即可。安装包有图形化和命令行两种安装方式:“GraphicalInstaller”和“CommandLineInstaller”,例如在Windows下只能选择“GraphicalInstaller”形式的exe安装包;在Linux服务器中选择“CommandLineInstaller”的形式的sh安装包。Mac中可选择两者中的任何一种安装包。
2、启动:从命令行(jupyter-notebook)或操作界面启动JupyterNotebook服务
3、开发编辑:浏览器输入