Compare commits
4 Commits
master
...
026a8fe65d
| Author | SHA1 | Date | |
|---|---|---|---|
| 026a8fe65d | |||
| 8e4cc07c6b | |||
| 8977a8d6bd | |||
| 70c13ef622 |
38
FeatureDemoRDD.md
Normal file
38
FeatureDemoRDD.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
|
||||
|
||||
## demo维度:
|
||||
|
||||
### d1、经济管理特征
|
||||
1. 每局平均道具数量与使用率(烟雾、闪光、燃烧弹、手雷)
|
||||
2. 伤害性道具效率(手雷/燃烧弹造成伤害值/投掷次数)
|
||||
3. 细分武器KD(AWP、AK-47、M4A4等)
|
||||
4. 武器选择与回合胜率相关系数(某武器使用时胜率-整体胜率)
|
||||
5. 保枪成功率(需保枪回合中成功保下武器次数/总机会)
|
||||
6. 经济溢出率(每局剩余金钱>3000的回合占比)
|
||||
|
||||
### d2、团队协同特征(后续进行详细设计计算,暂时有较大缺陷)
|
||||
1. 补枪成功次数(队友阵亡后10秒内完成击杀)
|
||||
2. 补枪反应时间(队友阵亡到自身补枪击杀的平均时长)
|
||||
3. 与队友A的补枪成功率(对队友A的补枪成功次数/其阵亡次数)
|
||||
4. 被补枪率(自身阵亡后10秒内被队友补枪次数/总阵亡次数)
|
||||
5. 道具配合得分(被队友闪光致盲后击杀的敌人数量)
|
||||
6. 辅助道具价值(自身烟雾/燃烧弹帮助队友下包/拆包次数)
|
||||
7. 拉枪线贡献(自身阵亡后队友获得多杀的次数)
|
||||
8. 疑似卖队友次数(自身附近队友存活但未补枪的阵亡次数)
|
||||
|
||||
### d3、经济影响力特征(自定义计算方案)
|
||||
1. 累计缴获敌方武器的经济价值(如AWP按4750计算)
|
||||
2. 保枪致胜次数(保下的武器在下一回合帮助获胜的次数)
|
||||
3. 单局经济扭转值(因自身行为导致的双方经济差变化)
|
||||
4. 回合致胜首杀贡献分(首杀为胜利带来的权重分,如5v4优势计0.3分)
|
||||
5. 回合致胜道具贡献分(关键烟雾/闪光为胜利带来的权重分)
|
||||
6. 回合致胜残局贡献分(1vN残局胜利的权重分,1v3+计1分)
|
||||
|
||||
### d4、热图与站位特征(预留demoparser阶段开发)
|
||||
1. 各地图区域击杀数(如Inferno的A区、B区、中路等)
|
||||
2. 各地图区域死亡数(同上区域划分)
|
||||
3. 常用站位区域占比(某区域停留时间/总回合时间)
|
||||
4. 区域对枪胜率(某区域内击杀数/死亡数)
|
||||
|
||||
---
|
||||
@@ -75,45 +75,6 @@
|
||||
4. 每局平均道具数量与使用率(烟雾、闪光、燃烧弹、手雷)
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
## demo维度:
|
||||
|
||||
### d1、经济管理特征
|
||||
1. 每局平均道具数量与使用率(烟雾、闪光、燃烧弹、手雷)
|
||||
2. 伤害性道具效率(手雷/燃烧弹造成伤害值/投掷次数)
|
||||
3. 细分武器KD(AWP、AK-47、M4A4等)
|
||||
4. 武器选择与回合胜率相关系数(某武器使用时胜率-整体胜率)
|
||||
5. 保枪成功率(需保枪回合中成功保下武器次数/总机会)
|
||||
6. 经济溢出率(每局剩余金钱>3000的回合占比)
|
||||
|
||||
### d2、团队协同特征(后续进行详细设计计算,暂时有较大缺陷)
|
||||
1. 补枪成功次数(队友阵亡后10秒内完成击杀)
|
||||
2. 补枪反应时间(队友阵亡到自身补枪击杀的平均时长)
|
||||
3. 与队友A的补枪成功率(对队友A的补枪成功次数/其阵亡次数)
|
||||
4. 被补枪率(自身阵亡后10秒内被队友补枪次数/总阵亡次数)
|
||||
5. 道具配合得分(被队友闪光致盲后击杀的敌人数量)
|
||||
6. 辅助道具价值(自身烟雾/燃烧弹帮助队友下包/拆包次数)
|
||||
7. 拉枪线贡献(自身阵亡后队友获得多杀的次数)
|
||||
8. 疑似卖队友次数(自身附近队友存活但未补枪的阵亡次数)
|
||||
|
||||
### d3、经济影响力特征(自定义计算方案)
|
||||
1. 累计缴获敌方武器的经济价值(如AWP按4750计算)
|
||||
2. 保枪致胜次数(保下的武器在下一回合帮助获胜的次数)
|
||||
3. 单局经济扭转值(因自身行为导致的双方经济差变化)
|
||||
4. 回合致胜首杀贡献分(首杀为胜利带来的权重分,如5v4优势计0.3分)
|
||||
5. 回合致胜道具贡献分(关键烟雾/闪光为胜利带来的权重分)
|
||||
6. 回合致胜残局贡献分(1vN残局胜利的权重分,1v3+计1分)
|
||||
|
||||
### d4、热图与站位特征(预留demoparser阶段开发)
|
||||
1. 各地图区域击杀数(如Inferno的A区、B区、中路等)
|
||||
2. 各地图区域死亡数(同上区域划分)
|
||||
3. 常用站位区域占比(某区域停留时间/总回合时间)
|
||||
4. 区域对枪胜率(某区域内击杀数/死亡数)
|
||||
|
||||
---
|
||||
|
||||
### 手调1.、指挥手动调节因子(主观评价,0-10分)
|
||||
1. 沟通量(信息传递频率与有效性)
|
||||
2. 辅助决策能力(半区决策建议的合理性)
|
||||
|
||||
67
WebRDD.md
67
WebRDD.md
@@ -3,7 +3,7 @@
|
||||
## 1. 项目概述 (Overview)
|
||||
|
||||
### 1.1 项目背景
|
||||
YRTV 是一个面向 CS2 战队数据洞察与战术研判的 Web 平台。该平台基于现有的 `ETL` 数据管线与 `L2_Main.sqlite` 核心数据库,旨在通过 Web 界面提供可视化的数据查询、战队管理、战术模拟及深度分析功能。
|
||||
YRTV 是一个面向 CS2 战队数据洞察与战术研判的 Web 平台,旨在通过 Web 界面提供可视化的数据查询、战队管理、战术模拟及深度分析功能。
|
||||
|
||||
### 1.2 核心目标
|
||||
* **数据可视化**: 将复杂的 SQLite 比赛数据转化为易读的图表、雷达图和趋势线。
|
||||
@@ -18,7 +18,7 @@ YRTV 是一个面向 CS2 战队数据洞察与战术研判的 Web 平台。该
|
||||
* **L3**: SQLite (`database/L3/L3_Features.sqlite`) - 高级衍生特征 (Read-Only for Web)
|
||||
* **Web**: SQLite (`database/Web/Web_App.sqlite`) - [新增] 业务数据 (用户、评论、阵容配置、策略板存档)
|
||||
* **模板引擎**: Jinja2 (服务端渲染)
|
||||
* **前端样式**: Tailwind CSS (CDN 引入,快速开发)
|
||||
* **前端样式**: Tailwind CSS (CDN 引入,快速开发) + PC-First 响应式设计 (适配手机、平板与桌面端),主题色紫色,可切换黑白模式。
|
||||
* **前端交互**:
|
||||
* **图表**: Chart.js / ECharts (雷达图、趋势图)
|
||||
* **交互**: Alpine.js 或原生 JS (处理模态框、异步请求)
|
||||
@@ -36,16 +36,18 @@ yrtv/
|
||||
│ ├── app.py # Flask 应用入口
|
||||
│ ├── config.py # 配置文件
|
||||
│ ├── routes/ # 路由模块
|
||||
│ │ ├── main.py # 首页与通用
|
||||
│ │ ├── players.py # 玩家模块
|
||||
│ │ ├── teams.py # 战队模块
|
||||
│ │ ├── matches.py # 比赛模块
|
||||
│ │ ├── tactics.py # 战术与分析模块
|
||||
│ │ └── admin.py # 管理后台
|
||||
│ ├── services/ # 业务逻辑层 (数据计算)
|
||||
│ │ ├── stats_service.py # 核心指标计算
|
||||
│ │ ├── feature_store.py # L3 特征读取与计算
|
||||
│ │ └── etl_trigger.py # ETL 调度
|
||||
│ │ ├── main.py # 首页与通用 (Home)
|
||||
│ │ ├── players.py # 玩家模块 (List, Detail, Compare)
|
||||
│ │ ├── teams.py # 战队模块 (Lineup, Stats)
|
||||
│ │ ├── matches.py # 比赛模块 (List, Detail, Demo)
|
||||
│ │ ├── tactics.py # 战术模块 (Lineup Builder, Map, Nade)
|
||||
│ │ ├── wiki.py # 知识库模块 (Wiki, Docs)
|
||||
│ │ └── admin.py # 管理后台 (ETL Trigger, User Mgmt)
|
||||
│ ├── services/ # 业务逻辑层 (连接 L2/L3/Web DB)
|
||||
│ │ ├── stats_service.py # 基础数据查询 (L2)
|
||||
│ │ ├── feature_service.py # 高级特征查询 (L3)
|
||||
│ │ ├── wiki_service.py # 知识库管理
|
||||
│ │ └── user_service.py # 用户与评论管理
|
||||
│ ├── static/ # 静态资源
|
||||
│ │ ├── css/
|
||||
│ │ ├── js/
|
||||
@@ -53,25 +55,32 @@ yrtv/
|
||||
│ └── templates/ # Jinja2 模板
|
||||
│ ├── base.html
|
||||
│ ├── components/
|
||||
│ └── ... (各页面模板)
|
||||
│ ├── home/
|
||||
│ ├── players/
|
||||
│ ├── teams/
|
||||
│ ├── matches/
|
||||
│ ├── tactics/
|
||||
│ ├── wiki/
|
||||
│ └── admin/
|
||||
├── database/ # 数据存储
|
||||
│ ├── L1A/ # 原始爬虫数据
|
||||
│ ├── L2/ # 结构化事实数据
|
||||
│ └── L3/ # [新增] 衍生特征库 (Feature Store)
|
||||
└── ETL/ # ETL 脚本
|
||||
├── L1A.py
|
||||
├── L2_Builder.py
|
||||
└── L3_FeatureEng.py # [新增] L3 特征工程脚本
|
||||
│ ├── L3/ # 衍生特征库 (Feature Store)
|
||||
│ └── Web/ # [新增] 业务数据库 (User, Comment, Wiki)
|
||||
└── ETL/ # 数据处理层 (ETL Pipeline)
|
||||
├── L1A.py # L1A Ingest
|
||||
├── L2_Builder.py # L2 Transform
|
||||
└── L3_Builder.py # L3 Feature Engineering (原 feature_store.py 逻辑)
|
||||
```
|
||||
|
||||
### 2.2 数据流向
|
||||
1. **ETL 层**:
|
||||
1. **ETL 层 (数据处理核心)**:
|
||||
* L1 (Raw): 爬虫 -> JSON 存储。
|
||||
* L2 (Fact): JSON -> 清洗/标准化 -> Fact/Dim Tables。
|
||||
* **L3 (Features)**: L2 -> 聚合/滑窗计算/模型推理 -> Player/Team Derived Features (e.g., 近期状态分, 地图熟练度, 关键局胜率)。
|
||||
2. **Service 层**: Flask Service 读取 L2 (基础数据) 和 L3 (高级特征),执行业务逻辑。
|
||||
3. **View 层**: Jinja2 渲染 HTML,嵌入计算后的数据。
|
||||
4. **Client 层**: 浏览器展示页面,JS 处理局部交互。
|
||||
* **L3 (Features)**: L2 -> 聚合/滑窗计算/模型推理 -> Player/Team Derived Features。**数据处理逻辑收敛于 ETL 目录下的脚本,Web 端仅负责读取 L2/L3 结果。**
|
||||
2. **Service 层**: Flask Service 仅负责 SQL 查询与简单的业务组装(如评论关联),不再包含复杂的数据计算逻辑。
|
||||
3. **View 层**: Jinja2 渲染 HTML。
|
||||
4. **Client 层**: 浏览器交互。
|
||||
|
||||
---
|
||||
|
||||
@@ -92,11 +101,11 @@ yrtv/
|
||||
* **比赛解析器**: 输入 5E 比赛链接,点击按钮触发后台 ETL 任务(异步),前端显示 Loading 状态或 Toast 提示。
|
||||
|
||||
### 3.2 玩家模块 (Players)
|
||||
#### 3.2.1 玩家列表
|
||||
#### 3.2.1 玩家列表 PlayerList
|
||||
* **筛选/搜索**: 按 ID/昵称搜索,按 K/D、Rating、MVP 等指标排序。
|
||||
* **展示**: 卡片式布局,显示头像、ID、主队、核心数据 (Rating, K/D, ADR)。
|
||||
#### 3.2.2 玩家详情
|
||||
* **基础信息**: 头像、SteamID、5E ID、注册时间。可以手动分配Tag。
|
||||
#### 3.2.2 玩家详情 PlayerProfile
|
||||
* **基础信息**: 头像、SteamID、5E ID、注册时间。可以手动分配Tag。玩家列表 Players
|
||||
* **核心指标**: 赛季平均 Rating, ADR, KAST, 首杀成功率等。
|
||||
* **能力雷达图**: *计算规则需在 Service 层定义*。
|
||||
* **趋势图**: 近 10/20 场比赛 Rating 走势 (Chart.js)。
|
||||
@@ -109,11 +118,11 @@ yrtv/
|
||||
* **统计概览**: 战队整体胜率、近期战绩、地图胜率分布,个人关键数据。
|
||||
|
||||
### 3.4 比赛模块 (Matches)
|
||||
#### 3.4.1 比赛列表
|
||||
#### 3.4.1 比赛列表 MatchList
|
||||
* **筛选**: 按地图、日期范围筛选。
|
||||
* **展示**: 列表视图,显示时间、地图、比分、胜负、MVP。
|
||||
|
||||
#### 3.4.2 比赛详情
|
||||
#### 3.4.2 比赛详情 MatchDetail
|
||||
* **头部**: 比分板(CT/T 分数)、地图、时长、Demo 下载链接。
|
||||
* **数据表**: 双方队伍的完整数据表(K, D, A, FK, FD, ADR, Rating, KAST, AWP Kills 等)。
|
||||
* *利用 `fact_match_players` 中的丰富字段*。
|
||||
@@ -126,7 +135,7 @@ yrtv/
|
||||
* **共同经历**: 查询这 5 人共同参与过的比赛场次及胜率。
|
||||
* **协同矩阵**: 选择特定阵容,展示两两之间的协同数据(如:A 补枪 B 的次数,A 与 B 同时在场时的胜率)。
|
||||
* **最佳/短板分析**: 基于历史数据分析该阵容在特定地图上的强弱项。
|
||||
#### 3.5.2 数据对比
|
||||
#### 3.5.2 数据对比 Data Center
|
||||
* **多选对比**: 选择多名玩家,并在同一雷达图/柱状图中对比各项数据。
|
||||
* **地图筛选**: 查看特定玩家在特定地图上的表现差异。
|
||||
#### 3.5.3 道具与策略板 (Grenades & Strategy Board)
|
||||
|
||||
Reference in New Issue
Block a user