构建成熟的数据科学Docker容器

毫无疑问,当今科技界的热门词汇是机器学习和人工智能。组织现在比以往任何时候都更快地尝试采用机器学习技术来分析和改善其业务并提高客户满意度。另一方面,容器化的革命性概念使数百万开发人员的生活变得更加轻松,并帮助他们采用更好的技术来无缝地维护,重用和跟踪项目。

在本文中,我们将讨论如何构建完整的数据科学容器。我们将创建一个包含所有必要库和软件包的容器化环境,这将帮助您开始机器学习和数据科学之旅。我们将了解如何安装任何机器学习代码中涉及的核心软件包,并将其嵌入到dockerfile中以构建映像。事不宜迟,让我们看看如何做。

首先,让我们看看构建基本的机器学习python脚本需要安装哪些python。

  • 熊猫-通过帮助我们维护结构化和非结构化数据集,有助于进行数据分析。它还提供了重塑和组织数据以从中提取重要见解的工具。

  • Numpy-它提供了用于计算大型矩阵和多维数组的方法。它具有许多预编译的方法,这使计算比普通的代数便宜。

  • Matplotlib-它通过在功能之间绘制图表来帮助您从数据框中检索重要的见解,并帮助您仔细检查数据点,以帮助您确定哪种机器学习模型适合您的问题陈述。

  • Scikit learning-该软件包是所有机器学习python脚本的核心。它包含许多机器学习算法。不管是监督算法还是不受监督的算法,只要您将其命名,他们就会拥有它。它还可以帮助您拆分数据集,通过删除非法值等来构造数据集。

  • Scipy-该库可帮助您非常轻松地对数据集进行科学计算。它提供了几种执行高级操作的方法,例如计算概率,变换等。

  • NLTK-如果您正在使用NLP域,那么您肯定已经听说过该库。它可以帮助您执行词干提取,词形还原,词性标注,语义分析等。

既然我们已经了解了用于机器学习和数据科学的核心库,我们将尝试构建dockerfile来安装这些软件包。

我们将使用alpine作为基本图像来获取python环境,因为它的尺寸非常小。

查看下面的dockerfile。

FROM alpine:latest

WORKDIR /usr/src/app

RUN apt-get −y update
RUN pip3 install −r requirements.txt
RUN [ "python3", "−c", "import nltk; nltk.download('all')" ]

CMD ["python3"]

上面的dockerfile,提取高山映像,设置工作目录,运行apt-get命令,从需求文件安装库,并从nltk库下载所有方法以供使用。

需求文件应包含以下内容-

pandas
numpy
matplotlib
scikit-learn
scipy
nltk

创建dockerfile和requirements.txt文件之后,可以使用docker build命令构建docker映像。

sudo docker build −t <username>/<image−name>:<tag−name> .

-t标志用于标记图像。但是,这样做不是强制性的,但始终建议

成功构建映像后,可以使用以下docker run命令运行docker容器。

sudo docker run −it <username>/<image−name>:<tag−name>

总而言之,在本文中,我们已经了解了如何构建一个docker容器,其中包含开始机器学习和数据科学之旅所需的所有基本python库和软件包。您始终可以通过启动bash并在需要时运行适当的命令来安装其他库。