Docker 下,五分钟极速体验机器学习
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
看标题是否很激动,对机器学习很感兴趣,但是搭建环境和运行 demo 总是要花些精力和时间的,现在利用 docker 可以简化准备工作,一行命令即可直奔主题;
环境信息
操作系统:CentOS Linux release 7.6.1810
Docker:18.09.8
您没有看错,一个运行 docker 的 Linux 环境足矣!只要下载镜像的网速够快,几分钟之内即可体验机器学习。
极速搭建环境
执行下面这行命令,您就拥有了开始机器学习的开发环境:Annaconda3,并且 jupyter notebook 已经 ready:
执行上述命令后,控制台输出如下:
注意上面的 http://(a61298ac6493 or 127.0.0.1):8888/?token=708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6 ,其中的 708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6 是登录 jupyter 网页时要填写的 token 字段,后面会用到;
机器学习的开发环境已经 OK 了,够快吗?该运行经典入门实例了;
实战鸾尾花分类
运行 docker 的电脑 IP 地址是 192.168.121.137,于是打开浏览器,输入地址:http://192.168.121.137:8888
出现 jupyter 登录页面,如下图,前面我们记下来了 token 字符串的值(708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6),在红框位置输进去,然后点击右侧的"Log in"按钮,即可登录成功;
如下图,点击右侧的"New",在弹出的菜单中点击"Python 3":
会出现新的页面,如下图,这就是我们输入代码和运行代码的地方:
在上图红框中,输入以下代码,这段代码就是经典的鸾尾花分类:一共有 150 朵鸾尾花,每朵有自己的花萼长、花萼宽、花瓣长、花瓣宽这四个特征值,这 150 朵鸾尾花一共分为三类,我们取其中的 140 朵交给机器学习,学习完成后,我们将剩下 10 朵的特征给机器,让机器来分类,最后对比机器分类的结果和实际结果,看看误差有多大,代码中已经添加了详细的注释,就不再赘述了:
写完了代码,点击下图红框中的按钮,即可运行:
运行结果会立即显示出来,如下图:
您可以修改源码中 train_test_split 方法的 test_size 参数,例如从 10 改为 50,这样学习样本就减少了,而测试数据增加了,理论上推测准确率会下降,请您自行修改和验证这个推论;
至此,您已经搭建好了机器学习的开发环境,并且运行了最经典的入门 Demo。
关于 Docker
一行命令就搭建好了开发环境,您也许会对该命令中的 Docker 镜像感兴趣,该镜像的关键是两个文件:制作镜像的 Dockerfile 和容器启动的 docker-entrypoint.sh,您可以在可以从 GitHub 上下载这两个文件,地址和链接信息如下表所示:
这个 git 项目中有多个文件夹,本章的文件在 jupyterdockerfiles 文件夹下,如下图所示:
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/958bb30e57e82fedea54a06dd】。文章转载请联系作者。
评论