数据挖掘-探讨工程项目结构

·183 字·1 分钟
data_analytics spark python scala java
n3xtchen
作者
n3xtchen
Sharing Funny Tech With You

目录结构 #

├── LICENSE
├── Makefile           <- 流程工具
├── README.md          <- 开发者使用的顶级文档
│
├── data
│   ├── external       <- 来自第三方的数据
│   ├── interim        <- 被转化过的中间结果
│   ├── processed      <- 最后用于模型的数据集
│   └── raw            <- 原始不可变的数据输出
│
├── docs               <- 默认是 Sphinx 项目
│
├── models             <- 训练和序列化模型,模型预测或者模型总结
│
├── notebooks          <- Jupyter notebooks.
│                         命名规则:数字,创建者首字母和描述,并以 `-` 隔开
│                         e.g. `1.0-cw-initial-data-exploration`.
│
├── references         <- 数据字典,手册以及所有其他探索资料
│
├── reports            <- Generated analysis as HTML, PDF, LaTeX, etc.
│   └── figures        <- 存放用于报表的图表文件
│
├── requirements.txt   <- 依赖包文件
├── src                <- 存储源码的目录
│   ├── __init__.py    <- 使 src 编程一个 python 模块
│   ├── data           <- 下载或生成数据的脚本
│   │   └── make_dataset.py
│   │
│   ├── features       <- 将原始数据转化成模型特征的脚本
│   │   └── build_features.py
│   │
│   ├── models         <- 训练模型的脚本
│   │   ├── predict_model.py
│   │   └── train_model.py
│   │
│   └── visualization  <- 创建探索的结果可视化脚本
│       └── visualize.py
│
└── tox.ini            <- 用于运行 tox 的配置文件

数据是不可变的 #

不要编辑你的原始数据,不要手动,更不要存在 excel 中。不要覆盖原始数据。不要保存多个版本的原始数据。保持原始数据不可变。你写的代码应该通过管道把原始数据导向最终分析。你不用每次为了一些图标而运行所有步骤,当时任何人都可以只通过 srcdata/raw 中的数据,重新生成最后的产品。

然而,如果数据不可变,它同样不需要保存在版本控制中。因此,默认,数据目录应该包含一个 .gitignore 文件。如果你的数据量小,而且很少变化,你也许可以把它放到版本控制了。如果一个文件超过 50M,github 会警告,拒绝超过 100M 的文件提交。还有其他保存/同步数据的选择,例如 AWS S3(s3cmd),GLFS,Git Annex 和 dat。目前,我们使用 S3 bucket 和 使用 aws cli 来从服务器同步数据。

引用自 Cookiecutter Data Science