项目简介
本项目借助Python实现气象降雨预测,运用LSTM、SVM、随机森林、XGBoost、Adaboost等多种机器学习算法,结合bagging集成方法,对气象站的降雨情况进行预测。通过对气象数据的预处理、模型训练和测试,评估不同模型在降雨预测任务中的性能。
项目的主要特性和功能
- 数据预处理:处理气象数据集,提取前5个气象站数据,完成数据清洗与填充,满足模型训练要求。
- 多模型训练:支持LSTM、SVM、随机森林、XGBoost、Adaboost等模型训练,还可训练2模型LSTM。
- 集成学习:实现基于LSTM模型的bagging集成方法,通过弱分类器投票得出最终预测结果。
- 模型测试:可对训练好的模型及集成方法进行测试,使用指定测试集,能测试最优模型,并计算准确率、kappa值和召回率等评估指标。
安装使用步骤
安装依赖库
本项目基于Python 3.8,需安装以下库:
- pandas 1.0.1:pip install pandas
- numpy 1.18.0:pip install numpy
- torch 1.4.0:pip install Pytorch
- Keras 2.3.1:pip install keras
- tensorflow 2.2.0:pip install tensorflow
- xgboost 1.1.0:pip install xgboost
- scikit-learn 0.22.2.post1:pip install sklearn
下载并整理数据
从链接https://cloud.tsinghua.edu.cn/d/a96c9fb8f56d4fb5be62/ 下载数据集,解压后将csv文件移至项目codes目录下。运行data_operate.py
进行数据整理,此为后续操作的必要前提。
模型训练
- 训练LSTM模型和2模型LSTM:运行
LSTM_RAINFALL.py
。 - 训练SVM模型:运行
SVR_C.py
。 - 训练随机森林模型:运行
RandomForest.py
。 - 训练XGBoost模型:运行
xg.py
。 - 训练bagging模型:运行
bagging.py
。 - 训练Adaboost模型:运行
Adaboost.py
。
模型测试
- 测试已训练的模型和集成方法:运行
testTrainedModel.py
,使用前需确保各模型均已训练完成,若有未训练好的情况,可在文件中注释对应模型部分。 - 测试最优模型:运行
testBestModel.py
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】