3.0 KiB
3.0 KiB
限制文件规则
本规则定义了项目中需要保护的文件和目录,这些文件不应被直接修改或删除。
禁止修改的文件
模型文件
**/*.cbm- CatBoost 模型文件**/*.pth- PyTorch 模型检查点**/best_model.pth- 最佳模型文件main/train/best_model.pth
预测结果文件
**/predictions_*.tsv- 预测结果文件main/train/predictions_test.tsvmain/train/predictions_train.tsvmain/train/predictions.tsvmain/train/test1.tsvmain/train/test2.tsvpredictions_test.tsv
配置文件
.env- 环境变量配置.gitignore- Git 忽略规则
禁止直接编辑的目录
模型训练输出目录
main/train/- 模型训练输出目录- 所有
.pth文件 - 所有
.tsv预测结果 - 所有
.ipynb分析报告(需要时可通过 Jupyter 编辑)
- 所有
数据文件目录
main/data/- 数据文件目录- 所有
.ipynb数据处理笔记本(需通过 Jupyter 编辑) update/子目录下的文件
- 所有
模型文件
my_catboost_model.cbm- CatBoost 训练好的模型
只读数据目录
以下目录包含只读数据,处理时需要特别注意:
# 正确的读取方式
def load_data(filename):
data = pd.read_hdf(filename, key="data") # 使用 pandas 读取 HDF5
return data
# 错误的写入方式 - 不要修改源数据
def process_data(filename):
data = pd.read_hdf(filename, key="data")
data.to_hdf(filename, key="data") # 禁止!会覆盖源数据
Jupyter Notebook 规则
允许的操作
- 在
main/data/和main/train/目录下编辑.ipynb文件 - 运行 Notebook 进行数据分析
- 添加新的分析单元
禁止的操作
- 直接修改生成的模型文件
- 手动修改预测结果文件
保护机制
临时文件
临时计算产生的中间文件(如带前缀 _ 的列)应在函数结束时清理:
def get_factor(df):
old_columns = df.columns.tolist()[:]
# 临时计算
df["_temp_calc"] = df["close"] / df["open"]
# 清理临时列
cols_to_drop = ["_temp_calc"]
df.drop(columns=cols_to_drop, inplace=True, errors="ignore")
new_columns = [col for col in df.columns.tolist()[:] if col not in old_columns]
return df, new_columns
模型文件保护
模型文件只能通过训练脚本生成,禁止手动修改:
# 正确:使用训练脚本
# python main/train/train_model.py
# 禁止:直接编辑模型文件
# 任何对 .pth, .cbm 文件的手动编辑都是不允许的
环境变量
以下环境变量在 .env 中定义,禁止硬编码:
- 数据库连接信息
- API 密钥
- 路径配置
如需使用这些变量,应通过 os.getenv() 或 python-dotenv 读取:
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("API_KEY")
相关规则文件
读取限制规则已移至独立文件 restricted_reads.md,包含禁止读取 config 文件和 JSON 文件的详细规则。