免费的线上Notebook环境,助力你搞定数据分析和机器学习!

免费的线上Notebook环境,助力你搞定数据分析和机器学习!

实验楼本月上线了全新的机器学习和数据分析在线实验环境,可能是国内首个免费的在线Notebook环境

目前,实验楼已经上线了数十门机器学习和数据分析相关的课程,内容覆盖了 Pandas,Matplotlib,Scikit-learn 等常用的第三方模块的使用,以及神经网络、支持向量机、随机森林等算法的实战。

如今,为了让大家更加方便和高效地学习这些课程。实验楼上线了机器学习新环境(以下简称:新环境),新环境是为数据分析及机器学习量身定制,和实验楼现有的桌面式在线环境截然不同。

新环境的诞生

熟悉机器学习和数据分析的朋友们可能都听说过 IPython,它是一种基于 Python 的交互式解释器。相较于原生的 Python Shell,IPython 提供了更为强大的编辑和交互功能。

IPython 之后,就出现了 IPython Notebook,它完整地继承了 IPython 的交互式特性,同时以 Web 形式运行。IPython Notebook 的出现,让数据分析和机器学习的过程变得高效。

再之后,在谷歌、微软等互联网巨头的赞助下,IPython Notebook 发展成为更加成熟和完善的开源项目,并更名为 Jupyter Notebook。相信有很多朋友对这个名字和下面的界面并不陌生。

如今,实验楼基于 Jupyter Notebook 开发出了更加简洁易用的实验楼「机器学习和数据分析在线实验环境」,界面如下所示。

在线环境的使用

如果你先前使用过 Jupyter Notebook,我们相信当你接触到新环境时会很容易上手。当然,感到陌生的你也完全不用担心,下面就手把手教你新环境的正确使用姿势。

新环境和现有环境的区别

目前,实验楼通用的在线环境界面如下图所示,大致分为两部分:左边是实验文档,右边是在线实验环境。学习时,你通过阅读文档内容,并自己动手在右侧的在线环境中练习。

而在新的实验环境中,学习逻辑就会发生一些变化。如今,实验文档和实验环境被融为一体,你只需要跟随实验楼制作好的每一个课程内容,从头到尾一步一步完成练习即可。下面,我们就了解一下课程内容的组成结构。

单元格

内容结构中最基本的组成单位被称之为单元格,一节完整的课程由若干个单元格按顺序构成。如下图所示,当你使用鼠标在课程界面单击时,就会选中相应的单元格,被处于选中状态的单元格的左侧会出现一条蓝色的竖线(区别于编辑状态时的绿色竖线)。

每一个单元格会有两种模式,分别是 Markdown(文本) 和 Code(代码)。在实验楼的课程中,教学内容都是以 Markdown 单元格展示,而你需要动手练习的代码将在 Code 单元格中执行。

单元格的两种模式

如何判断一个单元格是 Markdown 单元格,还是 Code 单元格?一般有两种方式。首先,选中之后的单元格右上角会出现一个菜单栏,绿色高亮的按钮就代表当前单元格的模式。上图中,就是一个典型的 Markdown 单元格。

除此之外,更简单的方法就是观察单元格的背景色。如下图所示,我们将 Code 单元格的背景色设置成为黑色,而 Markdown 单元格的背景则为白色。

单元格菜单栏

上面提到了单元格右上角的菜单栏。如下图所示,这个菜单栏中包含了针对单元格常见的 4 种操作。

运行代码

你可能会有疑问,那就是自己在哪里书写练习代码并执行呢?当前,这一切都是在 Code 单元格中完成。如下图所示,当你在 Code 单元格中书写 print('hello, world!') 时,点击左侧的运行按钮 ▶,相应的代码就会立即执行,并在单元格的下方显示输出内容。

保存自己的代码

首先,你在实验环境中输入的字符和代码都是自动保存的。只要当前环境没有终止(点击右上角的停止按钮,或环境超时自动终止),那就无需担心刷新页面后造成自己动手练习代码出现丢失。

除此之外,当你想终止当前环境时,还可以将 Python 代码文件下载到本地以备后用。你只需要点击界面右上角的下载按钮即可。

新环境的几个特点

单元格执行顺序

无论是 Markdown 单元格,还是 Code 单元格,它们在课程中都是按照从上到下的顺序依次执行的。后面的单元格需要等待前面的单元格执行完成后,才能继续执行。执行完成的单元格左侧会出现 In [序号] 的标志,例如:

单元格的执行状态

对于复杂度高的代码,往往会意味着更加长时间的执行等待时间。在新环境中,当一个单元格处于执行状态时,单元格前面会出现 In [*] 符号,只有执行完成的单元格, [] 中的 * 才会变成相应的 序号

除此之外,你可以通过页面右上角的 Kenel 状态指示器判断内核占用情况。如果 Python 字符右边出现了实心圆圈 ◉,代表内核处于占有状态。而空心圆圈 ◯ 则代表内核处于空闲状态。当然,也可能出现链接断开的符号,那就代表着内核已经断开链接,你可能需要刷新页面或重启实验环境。当然,实验楼会尽力让你避免遇到内核断开的状态。

上手体验

看完上面的介绍,相信你对实验楼上线的新环境已经有了初步印象。下面,就通过《 K - 近邻算法实现手写数字识别系统》这门课程,亲自体验一下新环境的魅力吧。

后记

目前,我们正在将实验楼现有的数据分析及机器学习课程转换为适用于新环境的课程。同时,我们也在同步制作新的课程,相信很快就会陆续上线。

新环境并不会全面取代之前的环境,实验楼只会将其运用在机器学习和数据分析相关的课程中,其他课程依然会使用更加通用的桌面式在线环境。

另外,刚上线的新环境可能还存在一些 bug,如果你在使用过程中遇到问题,请不要着急,并及时通过单独开帖提问等各种渠道反馈给我们。当然,使用过程中其他疑问,我们也会尽力帮你解决。

已使用新环境课程

  1. 《K - 近邻算法实现手写数字识别系统》
  2. 《利用 Python 进行 NBA 比赛数据分析》
  3. 《Pandas 使用教程》
  4. 《NumPy 使用教程》
  5. 《基于 TensorFlow 实现卷积神经网络》
  6. 《Python 气象数据分析:Python 数据分析实战》
  7. 《Hopfield 算法基础讲解及实例实现》
  8. 《RNN 神经网络讲解及基础应用》
  9. 《SIFT 特征提取分析算法讲解及应用》
  10. 《利用 Tensorflow 设计简单的前向神经网络》
  11. 《利用 TensorFlow 进行自然语言处理》
  • 更多课程持续上线中……

本文作者:huhuhang

出处:实验楼

链接:shiyanlou.com/questions

编辑于 2018-03-29