本仓库为课题组标准化的机器学习/深度学习/强化学习算法代码库,提供即拿即用的算法模板和完善的中文文档,帮助能源方向的同学快速将 AI 算法应用到自己的科研课题中。
icse-lab/
├── algorithms/ ← AI 算法模板库
│ ├── machine_learning/ ← 机器学习
│ │ ├── Random_Forest/ 随机森林(回归 + 特征重要性)
│ │ ├── XGBoost/ XGBoost(梯度提升回归)
│ │ └── BP_Neural_Network/ BP 神经网络 / MLP
│ ├── deep_learning/ ← 深度学习
│ │ ├── LSTM/ LSTM 时间序列预测
│ │ ├── GCN/ 图卷积网络
│ │ └── Transformer/ Transformer 时序预测
│ └── reinforcement_learning/ ← 强化学习
│ ├── DQN/ DQN(离散动作调度)
│ └── DDPG/ DDPG(连续动作控制)
│
├── projects_methodology/ ← 已有项目方法论沉淀
│ ├── load_forecasting/ 电力负荷预测
│ ├── thermal_management/ 热管理 / HVAC 控制
│ ├── nox_imputation/ 车辆 NOx 缺失值填补
│ └── driving_cycle/ 代表性驾驶循环构建
│
├── utils/ ← 公共工具库
│ ├── data_loader.py 数据加载
│ ├── preprocessing.py 预处理(归一化、滑动窗口等)
│ ├── metrics.py 评估指标
│ └── visualization.py 可视化
│
├── data/ ← 示例数据
│ └── dummy_energy_data.csv 模拟能源时序数据
│
├── docs/ ← 使用文档
│ ├── quickstart.md 新手入门指南
│ └── algorithm_selection_guide.md 算法选择决策指南
│
├── requirements.txt Python 依赖
└── .gitignore Git 忽略规则
git clone https://github.com/your-org/icse-lab.git
cd icse-labpython -m venv venv
source venv/bin/activate # Mac/Linux
# venv\Scripts\activate # Windows
pip install -r requirements.txtcd algorithms/machine_learning/Random_Forest
python train.py详细的入门教程请参考 docs/quickstart.md
不知道该用哪个算法? 根据你的问题类型对号入座:
| 你的数据特点 | 推荐算法 | 位置 |
|---|---|---|
| 表格数据,想快速出结果 | Random Forest | algorithms/machine_learning/Random_Forest/ |
| 表格数据,追求更高精度 | XGBoost | algorithms/machine_learning/XGBoost/ |
| 表格数据,作为深度学习基线 | BP Neural Network | algorithms/machine_learning/BP_Neural_Network/ |
| 时间序列(如每小时的负荷数据) | LSTM | algorithms/deep_learning/LSTM/ |
| 长时间序列(48步以上) | Transformer | algorithms/deep_learning/Transformer/ |
| 图/网络结构数据 | GCN | algorithms/deep_learning/GCN/ |
| 你的场景 | 推荐算法 | 位置 |
|---|---|---|
| 离散决策(开/关、选项A/B) | DQN | algorithms/reinforcement_learning/DQN/ |
| 连续控制(温度、功率调节) | DDPG | algorithms/reinforcement_learning/DDPG/ |
| 需求 | 推荐 |
|---|---|
| 找出影响目标值的关键因素 | Random Forest 或 XGBoost 的特征重要性功能 |
更详细的决策指南请参考 docs/algorithm_selection_guide.md
| 文件 | 作用 |
|---|---|
model.py |
模型定义和封装 |
train.py |
训练脚本(加载数据→训练→评估→保存) |
predict.py |
推理脚本(加载模型→预测新数据) |
README.md |
该算法的使用说明 |
| 文件 | 作用 |
|---|---|
config.py |
超参数集中配置(改参数只需改这个文件) |
model.py |
模型结构定义 |
dataset.py |
数据处理和 DataLoader |
train.py |
训练脚本 |
predict.py |
推理脚本 |
README.md |
使用说明和原理讲解 |
| 文件 | 作用 |
|---|---|
model.py |
网络结构(Q网络 / Actor-Critic) |
agent.py |
智能体(训练逻辑、动作选择) |
env.py |
自定义环境(可替换为你的仿真模型) |
train.py |
训练脚本 |
README.md |
使用说明 |
- 在
algorithms/对应类别下创建新文件夹 - 按照上述模板结构编写代码
- 编写
README.md,确保非 AI 背景的同学能看懂 - 提交 Pull Request
- 在
projects_methodology/下创建项目文件夹 - 按照 方法论模板 编写文档
- 提交 Pull Request
Q: 我完全不懂 AI,该从哪里开始? → 先看 docs/quickstart.md,然后根据你的问题类型在上面的导航表中选择算法
Q: 安装 PyTorch 报错? → 访问 PyTorch 官网 根据你的系统选择对应安装命令
Q: 安装 torch-geometric 报错? → 参考 PyG 安装指南
Q: 如何用自己的数据?
→ 每个算法的 README.md 中都有详细说明,通常只需修改数据路径和列名