LOL-DeepWinPredictor 是一款基于深度学习的英雄联盟比赛胜率预测系统,面向对局分析与战局决策场景,通过对海量历史对局数据的训练,实现对当前对局胜率的实时预测与可视化展示。核心功能模块分为三部分:一是数据采集模块,使用线程池并发爬取英雄联盟对局数据,通过 json 库完成字段提取与清洗,存储至 MongoDB 复制集保障数据高可用;二是模型预测模块,将 MongoDB 复制集数据通过 RocketMQ 消息队列传输至 Spark 集群进行分布式计算,完成大规模数据的批量推理;三是 Web 可视化模块,使用 Flask 搭建后端服务,前端基于原生 HTML + JavaScript 构建交互界面,集成 ECharts 绘制胜率对比图表,用户可直观查看各英雄组合的胜率分布与趋势分析。整体流程为:爬取数据 → 清洗入库 → 队列调度 → 集群计算 → Web 展示。
项目采用 Python 为主要开发语言,整体架构涵盖数据采集、模型训练、分布式计算与 Web 展示四层。模型基于 PyTorch 构建双向 LSTM 网络并引入注意力机制,训练集 3 万条对局数据、测试集 2000 条,最终模型准确率达 95%。独立完成从数据获取、模型设计训练到系统集成部署的全流程工作。数据传输层使用 RocketMQ 消息队列解耦采集与计算两端,计算层通过 Spark 集群实现数据的分布式批处理,有效应对大规模数据的推理压力。主要难点有两处:一是双向 LSTM 对序列长度敏感,通过对输入数据进行定长填充与 Mask 处理解决变长序列的训练稳定性问题;二是注意力机制与 LSTM 的融合方式,经过多次实验对比 Additive Attention 与 Dot-Product Attention 后选取效果更优的方案,将准确率从初版的 89% 提升至 95%。