快捷导航

Jupyter Notebook在机器学习领域的项目目录结构规划

2021-2-18 12:39| 发布者: Fuller| 查看: 201| 评论: 2

摘要: 在我看来,合理规划磁盘上的文件夹层次是高效工作的关键保障,而数据分析师更应该具有这个素质,所以,目录结构规划不局限于一个个Jupyter Notebook项目(project)内部,而是整个磁盘存储空间。本文只展示一个规划 ...

在我看来,合理规划磁盘上的文件夹层次是高效工作的关键保障,而数据分析师更应该具有这个素质,所以,目录结构规划不局限于一个个Jupyter Notebook项目(project)内部,而是整个磁盘存储空间。本文只展示一个规划项目内部结构的参考案例,主要应用于机器学习领域的模型设计和开发。

文章 Manage your Data Science project structure in early stage 比较倾向于在Poc(Proof of Concept)阶段使用Jupyter Notebook做探索,探索成功后会对代码做重构,看起来像是不太重视项目目录结构的规划,但是依然给了一个很详细的目录结构模板(可从Github上下载

1,src

作者建议把一些代码与notebook分开,因为这些代码有特定的目的,而且在数据探索完成后还会用在最终部署的系统上。这类代码又分成三类:

a,preparation:属于数据集成(data integration)代码,负责从csv,关系数据库,NoSQL数据库,Hadoop中抽取数据。输出的数据将放在data目录中的raw子目录下

b,processing:属于数据转换(data transformation)代码,将raw data转换成模型需要的数据,存入data目录中的processed子目录中

c,modeling:属于构建模型(model building)代码,比如,模型训练,模型评估,多个模型的组合等等

2,test

针对src中的python代码开发测试用例,测试用例代码放在这里

3,model

存储训练过程中的中间结果和模型,也包括模型的元数据

4,data

分成raw和processed分别存储preparation和processing程序产生的数据

5,notebook

notebook中的内容可以细分为

a,eda:记录数据探索(Exploratory Data Analysis,Data Exploration)过程和结果,比如,数据分布分析

b,poc的过程和结果记录

c,modeling:记录构建和训练模型的过程和结果

d,evaluation:记录模型评估的过程和结果


鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

评论 Fuller 2021-2-22 13:06
内容分析应用: 最后一行evauation,是不是“记录模型评估...”
对,改过来了
评论 内容分析应用 2021-2-22 10:33
最后一行evauation,是不是“记录模型评估...”

查看全部评论(2)

GMT+8, 2021-3-4 12:03