- 项目核心代码组织
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`:绘图工具函数,用于生成数据可视化图表(如绘制损失函数变化曲线、特征分布直方图等 )。
python
# 变量的类型注解
name: str = "Alice"
age: int = 30
height: float = 1.75
is_student: bool = False
python
# 定义一个矩形类
class Rectangle:
width: float # 矩形宽度(浮点数),类属性的类型注解(不初始化值)
height: float # 矩形高度(浮点数)
def __init__(self, width: float, height: float):
self.width = width
self.height = height
def area(self) -> float:
# 计算面积(宽度 × 高度)
return self.width * self.height