深圳网站建设销售前景,公共资源交易中心属于哪个部门,做网站的公司找客户,手机微信小程序开发教程目录 DAY 31 文件的规范拆分和写法1.规范的文件命名2.规范的文件夹管理项目核心代码组织配置文件管理实验与探索代码项目产出物管理 3.机器学习项目的拆分4.编码格式和类型注解编码格式类型注解 作业#xff1a;尝试针对之前的心脏病项目ipynb#xff0c;将他按照今天的示例项… 目录 DAY 31 文件的规范拆分和写法1.规范的文件命名2.规范的文件夹管理项目核心代码组织配置文件管理实验与探索代码项目产出物管理 3.机器学习项目的拆分4.编码格式和类型注解编码格式类型注解 作业尝试针对之前的心脏病项目ipynb将他按照今天的示例项目整理成规范的形式思考下哪些部分可以未来复用。 DAY 31 文件的规范拆分和写法
1.规范的文件命名
2.规范的文件夹管理
项目核心代码组织
src/source的缩写存放项目的核心源代码。按照机器学习项目阶段进一步细分
src/data/放置与数据相关的代码。
src/data/load_data.py负责从各类数据源如文件系统、数据库、API 等读取原始数据。
src/data/preprocess.py进行数据清洗处理缺失值、异常值、数据转换标准化、归一化、编码等操作。
src/data/feature_engineering.py根据业务和数据特点创建新特征或对现有特征进行选择、优化。
src/models/关于模型的代码。
src/models/model.py定义模型架构比如神经网络结构、机器学习算法模型设定等。
src/models/train.py设置模型超参数并执行训练过程保存训练好的模型。
src/models/evaluate.py使用合适的评估指标如准确率、召回率、均方误差等在测试集上评估模型性能生成评估报告。
src/models/predict.py 或 src/models/inference.py利用训练好的模型对新数据进行预测。
src/utils/存放通用辅助函数代码可进一步细分
src/utils/io_utils.py包含文件读写相关帮助函数比如读取特定格式文件、保存数据到文件等。
src/utils/logging_utils.py实现日志记录功能方便记录项目运行过程中的信息便于调试和监控。
src/utils/math_utils.py特定的数值计算函数像自定义的矩阵运算、统计计算等。
src/utils/plotting_utils.py绘图工具函数用于生成数据可视化图表如绘制损失函数变化曲线、特征分布直方图等 。
配置文件管理
config/ 目录集中存放项目的配置文件方便管理和切换不同环境开发、测试、生产的配置。
config/config.py 或 config/settings.py以 Python 代码形式定义配置参数。
config/config.yaml 或 config/config.json采用 YAML 或 JSON 格式清晰列出文件路径、模型超参数、随机种子、API 密钥等可配置参数。
.env 文件通常放在项目根目录用于存储敏感信息如数据库密码、API 密钥等在代码中通过环境变量的方式读取一般会被 .gitignore 忽略防止敏感信息泄露。
实验与探索代码
notebooks/ 或 experiments/ 目录用于初期的数据探索、快速实验、模型原型验证。
notebooks/initial_eda.ipynb在项目初期使用 Jupyter Notebook 进行数据探索与可视化了解数据特性分析数据分布、相关性等。
experiments/model_experimentation.py编写脚本对不同模型架构、超参数组合进行快速实验对比实验结果寻找最优模型设置。
项目产出物管理
data/ 目录存放项目相关数据。
data/raw/放置从外部获取的未经处理的原始数据保持数据原始状态。
data/processed/存放经过预处理清洗、转换、特征工程等操作后的数据供模型训练和评估使用。
data/interim/可选保存中间处理结果比如数据清洗过程中生成的临时文件、特征工程中间步骤产生的数据等。
models/ 目录专门存放训练好的模型文件根据模型保存格式不同可能是 .pklPython pickle 格式常用于保存 sklearn 模型 、.h5常 用于保存 Keras 模型 、.joblib 等。
reports/ 或 output/ 目录存储项目运行产生的各类报告和输出文件。
reports/evaluation_report.txt记录模型评估的详细结果包括各项评估指标数值、模型性能分析等。
reports/visualizations/存放数据可视化图片如损失函数收敛图、预测结果对比图等。
output/logs/保存项目运行日志文件记录项目从开始到结束过程中的关键信息如训练开始时间、训练过程中的损失值变化、预测时间等。
3.机器学习项目的拆分
首先按照机器学习的主要工作流程数据处理、训练、评估等将代码分离到不同的 .py 文件中。 这是最基本也是最有价值的一步。
然后创建一个 utils.py 来存放通用的辅助函数。
考虑将所有配置参数集中到一个 config.py 文件中。
为你的数据和模型产出物创建专门的顶层目录如 data/ 和 models/将它们与你的源代码通常放在 src/ 目录分开。
4.编码格式和类型注解
编码格式
规范的py文件首行会有# – coding: utf-8 –
主要目的是 显式声明文件的编码格式确保 Python 解释器能正确读取和解析文件中的非 ASCII 字符如中文、日文、特殊符号等。也就是说这个是写给解释器看的。
类型注解
Python 的类型注解是在 Python 3.5 引入的特性用于为变量、函数参数、返回值和类属性等添加类型信息。虽然 Python 仍是动态类型语言但类型注解可以提高代码可读性、可维护性并支持静态类型检查工具如 mypy。
作业尝试针对之前的心脏病项目ipynb将他按照今天的示例项目整理成规范的形式思考下哪些部分可以未来复用。
heart_disease_project/
├── data/ # 数据管理
│ ├── raw/ # 原始数据heart.csv
│ └── processed/ # 处理后的数据
├── models/ # 保存训练好的模型
│ └── model.pkl
├── notebook/ # 探索性分析
│ └── initial_eda.ipynb # 初步数据分析
├── src/ # 核心代码
│ ├── data/ # 数据相关模块
│ │ ├── load_data.py # 数据加载可复用
│ │ ├── preprocess.py # 数据预处理可复用
│ │ └── feature_engineering.py # 特征工程可复用
│ ├── models/ # 模型相关模块
│ │ ├── model.py # 模型定义可复用
│ │ ├── train.py # 训练逻辑可复用
│ │ └── evaluate.py # 评估逻辑可复用
│ └── utils/ # 通用工具
│ ├── io_utils.py # 文件读写高度复用
│ ├── logging_utils.py# 日志管理高度复用
│ └── plotting_utils.py # 可视化工具高度复用
└── requirements.txt # 依赖库列表
浙大疏锦行