首页 > 其他分享 >推荐:数据工程的原则和推荐的项目结构

推荐:数据工程的原则和推荐的项目结构

时间:2024-08-06 17:26:16浏览次数:10  
标签:原则 工程 推荐 py Choose 规则 data Select name

无论是传统的机器学习,深度学习还是 LLM,都离不开数据。而实际中很多数据项目组织混乱,缺乏指导和流程。要想做好数据工程,就需要遵守一定的规则,并建立良好的项目结构,这样才能确保我们的数据项目事半功倍。

这10条规则,需要仔细理解。
规则 1:从一开始就井然有序,并保持井然有序
规则 2:一切都来自某个地方,并且原始数据是不可变的
规则 3:版本控制是基本的专业素养
规则 4:笔记本(jupyter)用于探索,源文件(.py)用于重复
规则 5:测试和健全性检查可防止灾难
规则 6:大声失败,快速失败
规则 7:从原始数据到最终输出,项目运行完全自动化
规则 8:提取并集中重要参数
规则 9:项目运行默认是详细的,并产生有形的工件
规则 10:从最简单的端到端管道

另外需要建立一个合乎逻辑、合理标准化但又灵活的项目结构.如下图

例如数据始终位于 data/ 中,原始数据位于 data/raw/,用于分析的最终清理版本位于 data/processed/ 中。jupyter文件位于notebooks/ 中,我们鼓励使用编号方案来提供秩序感。项目 py代码位于 src/ 中,可以从jupyter中导入以鼓励重复数据删除和标准化。这种合理的结构有助于其他人理解、重现和扩展您的分析,并建立一种信任感,。

├── LICENSE <- Open-source license if one is chosen
├── Makefile <- Makefile with convenience commands like make data or make train
├── README.md <- The top-level README for developers using this project.
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump.

├── docs <- A default mkdocs project; see www.mkdocs.org for details

├── models <- Trained and serialized models, model predictions, or model summaries

├── notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
│ the creator’s initials, and a short - delimited description, e.g.
1.0-jqp-initial-data-exploration.

├── pyproject.toml <- Project configuration file with package metadata for
│ {{ cookiecutter.module_name }} and configuration for tools like black

├── references <- Data dictionaries, manuals, and all other explanatory materials.

├── reports <- Generated analysis as HTML, PDF, LaTeX, etc.
│ └── figures <- Generated graphics and figures to be used in reporting

├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
│ generated with pip freeze > requirements.txt

├── setup.cfg <- Configuration file for flake8

└── {{ cookiecutter.module_name }} <- Source code for use in this project.

├── init.py <- Makes {{ cookiecutter.module_name }} a Python module

├── config.py <- Store useful variables and configuration

├── dataset.py <- Scripts to download or generate data

├── features.py <- Code to create features for modeling

├── modeling
│ ├── init.py
│ ├── predict.py <- Code to run model inference with trained models
│ └── train.py <- Code to train models

└── plots.py <- Code to create visualizations

可以通过安装如下命令,快速建立项目结构

pip install cookiecutter-data-science
ccds

 ccds https://github.com/drivendata/cookiecutter-data-science
project_name (project_name):My Analysis
repo_name (my_analysis):my_analysis
module_name (my_analysis):
author_name (Your name (or your organization/company/team)):Dat A. Scientist
description (A short description of the project.):This is my analysis of the data.
python_version_number (3.10):3.12
Select dataset_storage
1 - none
2 - azure
3 - s3
4 - gcs
Choose from [1/2/3/4] (1):3
bucket (bucket-name):s3://my-aws-bucket
aws_profile (default):
Select environment_manager
1 - virtualenv
2 - conda
3 - pipenv
4 - none
Choose from [1/2/3/4] (1):2
Select dependency_file
1 - requirements.txt
2 - environment.yml
3 - Pipfile
Choose from [1/2/3] (1):1
Select pydata_packages
1 - none
2 - basic
Choose from [1/2] (1):2
Select open_source_license
1 - No license file
2 - MIT
3 - BSD-3-Clause
Choose from [1/2/3] (1):2
Select docs
1 - mkdocs
2 - none
Choose from [1/2] (1):1

在实践中,需要根据实际情况,不断优化数据项目的流程和结构,真正实现数据的端到端,可重复的生成过程,从而满足数据分析,机器学习的需要。

标签:原则,工程,推荐,py,Choose,规则,data,Select,name
From: https://blog.csdn.net/Practicer2015/article/details/140937894

相关文章

  • 文件加密软件精品推荐(10款不容错过的文件加密软件)
    文件加密软件是信息安全的必争之地,有多家公司推出了自己的产品,然而这些软件却良莠不齐,在加密强度、易用性、功能多样性、兼容性上有较大差异,今天盘点其中10款佼佼者,值得你去考虑。1.安企神主要功能实时监控与监控管理:安企神支持实时监控员工电脑使用行为,包括上网行为、......
  • 工程文档CAD转换必备! 在 C# 中将 DWG 转换为 PDF
    Aspose.CAD 是一个独立的类库,以加强Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG,DWT,DWF,DWFX,IFC,PLT,DGN,OBJ,STL,IGES,CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。AsposeAPI支持流行文件格式处理,并......
  • 【推荐100个unity插件之24】Post Processing 后处理插件最全基础使用说明
    文章目录前言什么是后处理?场景视图显示后处理效果主相机勾选渲染后处理Post-processVolume和Volume的区别内置渲染管线的后处理Post-processVolume使用通用渲染管线(URP)的后处理是Volume的使用文档升级URPglobalvolume全局后处理效果泛光(Bloom)色差(Chromatic......
  • Cpp DenseNet OpenVino CMake工程
    CppOpenVinoCMakePython版本导引PythonDenseNetOpenVino导出PythonDenseNetOpenVino推理PythonDenseNetOpenVino打包CMake工程示例测试性质的工程结构如下:Project:Network:存放网络推理相关DebugTools:打印网络结构DenseGradeWrapper:推理主结构Netwo......
  • 算法工程师应当了解哪些算法?标准很乱啊
    Hereisamorestrictlycategorizedlistofalgorithms,withbriefexplanationsforeachcategory:1.SortingAlgorithmsQuickSort:Efficientsortingbypartitioningarraysaroundapivot.MergeSort:Divide-and-conquersortingthatmergessortedsubarr......
  • 6 大推荐给开发者的无代码工具
    在不断发展的软件开发领域,无代码工具正迅速普及。最初,这些工具是为非技术背景的业务用户设计的,而如今,它们对开发者来说也同样不可或缺。无代码工具结合了效率、灵活性和创新性,让开发者能够在无需编写传统代码的情况下快速构建应用程序。那么,为什么开发者也应该考虑使用无代码工......
  • 【中项】系统集成项目管理工程师-第10章 项目整合管理-10.2制订项目管理计划
    前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。     软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”,目前涵盖了计算机软件、计算机网络、计算机应用技术......
  • [稳定检索|投稿优惠]2024年航空技术与机电工程国际会议(ATME 2024)
    2024年航空技术与机电工程国际会议2024InternationalConferenceonAerospaceTechnologyandMechanicalandElectricalEngineering【1】大会信息会议名称:2024年航空技术与机电工程国际会议会议简称:ATME2024大会时间:请查看官网大会地点:中国·贵阳截稿时间:请查看官......
  • 多模态融入推荐
    多模态特征如何融入到推荐最近刚好读了2篇文章,对于多模态特征处理的核心问题:多模态表征和推荐ID类特征的表征不在一个向量空间,如何有效融合;其次多模态特征预训练的,如何有效评估以及融入推荐系统之后如何进行更新的问题一、先解决怎么融合的问题:将多模态表征聚类,使用聚类的......
  • 面试题 .NET Core 开发工程师
    在面试.NETCore高级开发工程师时,通常会涉及多个方面的问题,以评估候选人在不同领域的深度和广度。以下是一些常见的面试题目分类及示例问题:###基础知识1.**.NETCore与.NETFramework的区别?**-请解释.NETCore和.NETFramework的主要区别,以及在什么情况下选择使用......