Docker下,五分钟极速体验机器学习,深度剖析原理

docker run --rm -p 8888:8888 bolingcavalry/anaconda3-jupyter:0.0.1

执行上述命令后,控制台输出如下:

(base) [root@centos7 ~]# docker run --rm -p 8888:8888 bolingcavalry/anaconda3-jupyter:0.0.1

Starting jupyter

[I 06:30:17.712 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret

[I 06:30:18.460 NotebookApp] JupyterLab extension loaded from /opt/conda/lib/python3.7/site-packages/jupyterlab

[I 06:30:18.460 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab

[I 06:30:18.461 NotebookApp] Serving notebooks from local directory: /opt/notebooks

[I 06:30:18.461 NotebookApp] The Jupyter Notebook is running at:

[I 06:30:18.461 NotebookApp] http://(a61298ac6493 or 127.0.0.1):8888/?token=708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6

[I 06:30:18.462 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

[C 06:30:18.465 NotebookApp]

To access the notebook, open this file in a browser:

file:///root/.local/share/jupyter/runtime/nbserver-6-open.html

Or copy and paste one of these URLs:

http://(a61298ac6493 or 127.0.0.1):8888/?token=708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6

[W 06:31:15.960 NotebookApp] Clearing invalid/expired login cookie username-192-168-121-137-8888

[W 06:31:15.961 NotebookApp] Couldn’t authenticate WebSocket connection

[W 06:31:15.961 NotebookApp] Clearing invalid/expired login cookie username-192-168-121-137-8888

[W 06:31:15.962 NotebookApp] Clearing invalid/expired login cookie username-192-168-121-137-8888

[W 06:31:15.981 NotebookApp] 403 GET /api/kernels/5e3f93d5-4f80-4ed3-ad56-b04db61c8487/channels?session_id=33173ba03fee449da0839df0e10cfb6e (192.168.121.1) 22.41ms referer=None

注意上面的http://(a61298ac6493 or 127.0.0.1):8888/?token=708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6,其中的708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6是登录jupyter网页时要填写的token字段,后面会用到;

机器学习的开发环境已经OK了,够快吗?该运行经典入门实例了;

实战鸾尾花分类

  1. 运行docker的电脑IP地址是192.168.121.137,于是打开浏览器,输入地址:http://192.168.121.137:8888

  2. 出现jupyter登录页面,如下图,前面我们记下来了token字符串的值(708d365fce9d9a76f98b2ade7e9aefcbc8401dbf5027ffa6),在红框位置输进去,然后点击右侧的"Log in"按钮,即可登录成功;

  3. 如下图,点击右侧的"New",在弹出的菜单中点击"Python 3":

在这里插入图片描述

  1. 会出现新的页面,如下图,这就是我们输入代码和运行代码的地方:

在这里插入图片描述

  1. 在上图红框中,输入以下代码,这段代码就是经典的鸾尾花分类:一共有150朵鸾尾花,每朵有自己的花萼长、花萼宽、花瓣长、花瓣宽这四个特征值,这150朵鸾尾花一共分为三类,我们取其中的140朵交给机器学习,学习完成后,我们将剩下10朵的特征给机器,让机器来分类,最后对比机器分类的结果和实际结果,看看误差有多大,代码中已经添加了详细的注释,就不再赘述了:

from sklearn.datasets import load_iris

from sklearn.model_selection import train_test_split

import numpy as np

import pandas as pd

from pandas.plotting import scatter_matrix

import matplotlib.pyplot as plt

from sklearn.neighbors import KNeighborsClassifier

#可以在浏览器上实时显示图像

%matplotlib inline

#取得鸾尾花数据集

iris_dataset = load_iris()

#将整个数据集分割成两部分:train用来训练,test用来测试,这里test_size等于10表示测试数据只有10条,其余的全部用作训练,

#注意,train_test_split会将iris_dataset的数据顺序打乱再分割

#X表示特征数据,每一行表示一朵鸾尾花的完整特征,该特征有四列:花萼长、花萼宽、花瓣长、花瓣宽

#y表示标签,例如y[0]=1,就表示X[0]的四个特征,对应的鸾尾花是第二类,总共有三类鸾尾花

X_train, X_test, y_train, y_test = train_test_split(iris_dataset[‘data’], iris_dataset[‘target’], test_size=10)

#在绘图的时候,指定数据列的名称来自数据集的’feature_names’

iris_dataframe=pd.DataFrame(X_train, columns=iris_dataset[‘feature_names’])

#绘图,散点矩阵图,每个小图和横轴是一个特征,纵轴是另个特征,

#例如花萼长做横轴、花萼宽做纵轴,可以看出不同的花萼长、花萼宽数据对应的鸾尾花类型分布情况

grr=scatter_matrix(iris_dataframe, c=y_train, figsize=(15,15), marker=‘o’, hist_kwds={‘bins’:20}, s=60, alpha=.8)

#使用K最邻近算法来做训练

knn = KNeighborsClassifier(n_neighbors=1)

#用前面分割好的数据来做训练,X是特征,y是确定的鸾尾花的类型

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

线程、数据库、算法、JVM、分布式、微服务、框架、Spring相关知识

一线互联网P7面试集锦+各种大厂面试集锦

学习笔记以及面试真题解析

相关知识

[外链图片转存中…(img-Yw5PL4LJ-1711932373890)]

一线互联网P7面试集锦+各种大厂面试集锦

[外链图片转存中…(img-RqAGS4ac-1711932373891)]

学习笔记以及面试真题解析

[外链图片转存中…(img-IDU1YDqN-1711932373891)]

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于机器学习任务,Docker可以提供一个灵活、可移植的环境,使得开发和部署变得更加简单。下面是一些使用Docker进行机器学习的常见步骤: 1. 定义Docker镜像:创建一个Dockerfile,其中包含机器学习所需的依赖和环境配置。例如,可以选择一个基础Python镜像,并添加所需的机器学习库和工具。 2. 构建Docker镜像:使用Docker命令构建镜像,例如:`docker build -t ml-image .`。这将基于Dockerfile构建一个名为ml-image的镜像。 3. 准备数据和代码:将机器学习代码和数据放入一个目录中,以便在Docker容器中访问。可以使用数据卷或者复制文件到容器内部。 4. 运行Docker容器:使用Docker命令运行容器,例如:`docker run -it --name ml-container ml-image`。这将启动一个交互式容器,并为之命名为ml-container。 5. 在容器中进行机器学习:在容器内部,可以执行机器学习任务。可以使用命令行工具或者Jupyter Notebook等环境进行开发和实验。 6. 保存模型和结果:如果有需要,可以将训练好的模型和实验结果保存到容器内部或者挂载的数据卷中,以便后续使用。 7. 停止和清理容器:在完成机器学习任务后,使用Docker命令停止和删除容器,例如:`docker stop ml-container`和`docker rm ml-container`。 使用Docker可以有效地管理机器学习环境,确保开发和部署的一致性,并且提供更好的可移植性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值