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

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

摘要: 在我看来,合理规划磁盘上的文件夹层次是高效工作的关键保障,而数据分析师更应该具有这个素质,所以,目录结构规划不局限于一个个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:记录模型评估的过程和结果

总结

接下来,集搜客发布的notebook都会使用上述的目录结构。可以在各个介绍文章中下载notebook源代码。

1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

发表评论

最新评论

评论 Fuller 2021-3-5 11:23
wangyong: 规划的目录可以放在电脑的任意一个磁盘中?
可以,Jupyter Notebook的界面上似乎可以浏览所有有权限的磁盘目录,就像Windows的文件管理器一样,找到那个磁盘中的notebook,打开就行
评论 wangyong 2021-3-5 11:10
规划的目录可以放在电脑的任意一个磁盘中?
评论 Fuller 2021-2-22 13:06
内容分析应用: 最后一行evauation,是不是“记录模型评估...”
对,改过来了
评论 内容分析应用 2021-2-22 10:33
最后一行evauation,是不是“记录模型评估...”

查看全部评论(4)

GMT+8, 2024-12-24 11:14