机器学习大杀器:爆米花搬火爆的 Kaggle Kernels

825 阅读5分钟
原文链接: zhuanlan.zhihu.com

本期 AI Adventures 当中,我们将会认识并使用 Kaggle Kernels。虽然本期不会给大家送上爆米花,但是我保证你会觉得 Kaggle Kernels 会像爆米花那样火爆。

这是一个系列视频/文章 「AI Adventures」中的第十三篇,由 Google 的开发技术推广工程师 Yufeng Guo 主讲,用通俗易懂的语言帮助你了解人工智能和机器学习。在这一系列视频/文章中,我们将一起探秘人工智能的世界,共同品味艺术、探索科学以及掌握机器学习的工具。
第一篇:机器学习是什么?
第二篇: 机器学习「七步走」
第三篇: 用评估器给花卉分类
第四篇:弹性伸缩的云端托管服务
第五篇: 通过 TensorBoard 将模型可视化
第六篇:通过深度神经网络再识评估器
第七篇: 云端训练模型的大数据解决方案
第八篇: 跟着 Google Research 体验自然语言生成
第九篇:云上的机器学习引擎
第十篇:使用 MNIST 数据集训练模型
第十一篇: 机器学习工程师用 Python 开发环境的最佳实践
第十二篇:机器学习之前,让「大熊猫」先尝一尝数据的味道
所有的内容和视频都会首发在「机智如你」专栏,目标是发布最新与谷歌相关的机器学习、TensorFlow 相关内容,如果你有任何问题,也欢迎在留言区向我们提出反馈。

Kaggle 是一个让你可以研究数据科学并分享相关成果的平台。你可能听说过 Kaggle 上面的一些竞赛,那可都是有现金大奖的。同时,这也是一个练习数据研究并从社区当中学习的好去处。

▍Kaggle Kernels 为何物?

Kaggle Kernels 本质上是浏览器上的 Jupyter notebooks,并且不收费。如此重磅的事当然要再说一遍免得你看不到:

Kaggle Kernels 是个可以让你完全免费在浏览器中运行 Jupyter 的开放平台!

这意味着你完全不必在配置本地环境的麻烦中挣扎,只要你连上网,无论身在何处都能有一个超赞的 Jupyter notebook 环境。

还不止这些!在线 notebook 的算力来自于云端的服务器,并不是你的电脑。所以你完全可以在基本不消耗电脑宝贵电量的情况下搞一些数据相关的研究和机器学习。

blog.kaggle.com/2017/09/21/…

Kaggle 近期升级了 Kernels 以提供更强大的计算性能,并且将你能使用的时间延长到了 60 分钟。

好啦好啦,我这么唠叨了半天 Kaggle Kernels,是时候看看它到底是什么样子了。

▍Kernels in action

只要在 kaggle.com 注册了账号,我们就可以选一个数据集,然后轻松点击几下进入新建的 Kernel 或者说 notebook。

上图动图请点击链接(约 11Mb)

我们所选的数据集将会被预加载到所使用的 Kernel 中,所以无需再考虑把数据集载入的问题,也不必等待漫长的数据拷贝过程。

不过,如果你愿意,仍然可以上传数据(最多 1GB)到 Kernel。

在我们的例子中,我们会继续使用 fashion-mnist 数据集。这是个有 10 个类目服饰的数据集,这些类目包括裤子、包、高跟鞋、衬衣等等。数据集中有五万个训练样本和一万个评估样本。来我的 Kaggle Kernel notebook 看一看吧。

先看看数据集。Kaggle 上提供的是 csv 文件形式的的数据集。原始数据是 28x28 像素的灰度图像,他们已经被挤成了 csv 中一行 784 列的数据。文件还包括了一列用来表达服饰品类的数据(索引从 0 到 9)。

▍数据载入

由于数据集已经载入了当前浏览器环境中,我们尝试用它来把 .csv 文件读入 pandasDataFrames,一个用于训练,一个用于预测。

注意数据存放在上一级的 input 目录下

如果你想看看我怎么做的,欢迎参照我的 Kaggle Kernel:

Fashion-MNIST

▍数据探索

如今我们已经把数据都载入了 DataFrame,我们就可以好好利用它的优势了(详细介绍请参考上一期)。我们用 head() 方法得到数据的前 5 行,然后用 describe() 来了解关于数据集结构的更多信息。

看起来数据已经乱序处理过了

▍数据可视化

另外,如果将这些数字化的数据可视化,那么他们将比一行一行枯燥的数字更有意义。让我们用 matplotlib 来看看这些图像长什么样。

这里用 matplotlib.pyplot 库,一般引作 plt,用于把数组化的数据显示为图片。

我们可以看到这些图像,有些模糊,但是仍然可以判断出是衣服还是饰品。

Kaggle Kernels 给我们提供了一个完全可交互,却又几乎无需装配的 notebook 环境。我一定要强调是完全不需要配置 python 开发环境或者安装任何库,真的太赞了!

完整的 Kernel 链接:www.kaggle.com/yufengg/fas…

你已经在使用 Kaggle Kernels 了吗?你最喜欢的特性是什么?有什么小技巧可以分享吗?


感谢阅读本期 Cloud AI Adventures。如果你喜欢这个系列,请点个赞。如果你想了解更多后续内容,请关注我和「机智如你」专栏(也可以关注 Yufeng G 的 MediumYouTube 频道)。更多精彩不要错过,我们下期再见!


▏原文出处:Medium - Introduction to Kaggle Kernels

▏封面来源:YouTube 视频缩略图

▏视频出处:YouTube - Introduction to Kaggle Kernels

▏字幕翻译:谷创字幕组

▏文章编辑: @杨栋