1.2.2: Profile Upgraded
This commit is contained in:
151
6D_README.md
151
6D_README.md
@@ -1,110 +1,83 @@
|
||||
# 选手能力六维图计算原理 (Six Dimensions Calculation)
|
||||
# YRTV Player Capability Model (6-Dimension System)
|
||||
|
||||
本文档详细介绍了 YRTV 系统中选手能力六维图(Radar Chart)的计算原理、数据来源及具体公式。
|
||||
This document outlines the calculation principles and formulas for the 6-dimensional player capability model used in the YRTV platform.
|
||||
|
||||
## 概述
|
||||
## Overview
|
||||
|
||||
能力六维图通过六个核心维度全面评估选手的综合实力:
|
||||
1. **BAT (Battle / Aim)**: 正面交火与枪法能力
|
||||
2. **STA (Stability)**: 表现稳定性与抗压能力
|
||||
3. **HPS (High Pressure / Clutch)**: 关键时刻与残局能力
|
||||
4. **PTL (Pistol Specialist)**: 手枪局专项能力
|
||||
5. **SIDE (T/CT Preference)**: 攻防两端的均衡性与影响力
|
||||
6. **UTIL (Utility)**: 道具使用效率与投入度
|
||||
The model evaluates players across 6 key dimensions:
|
||||
1. **BAT (Battle Power)**: Aim and direct combat ability.
|
||||
2. **PTL (Pistol)**: Performance in pistol rounds.
|
||||
3. **HPS (High Pressure)**: Performance in clutch and high-stakes situations.
|
||||
4. **SIDE (Side Proficiency)**: T vs CT side performance balance and rating.
|
||||
5. **UTIL (Utility)**: Usage and effectiveness of grenades/utility.
|
||||
6. **STA (Stability)**: Consistency and endurance over matches/time.
|
||||
|
||||
所有指标在计算前均会进行归一化处理(Normalization),映射到 0-100 的评分区间,以便于横向对比。
|
||||
Each dimension score is normalized to a 0-100 scale using min-max normalization against the player pool (with outlier clipping at 5th/95th percentiles).
|
||||
|
||||
---
|
||||
|
||||
## 详细计算公式
|
||||
## 1. BAT (Battle Power)
|
||||
*Focus: Raw aiming and dueling mechanics.*
|
||||
|
||||
注:`n(col)` 表示对该列数据进行 Min-Max 归一化处理。
|
||||
**Features & Weights:**
|
||||
- **Rating (40%)**: Average Match Rating (Rating 2.0).
|
||||
- **KD Ratio (20%)**: Average Kill/Death Ratio.
|
||||
- **ADR (20%)**: Average Damage per Round.
|
||||
- **Headshot% (10%)**: Headshot kills / Total kills.
|
||||
- **First Kill Success (10%)**: Entry Kills / (Entry Kills + Entry Deaths).
|
||||
- **Duel Win Rate (High Elo) (10%)**: KD Ratio specifically against high-Elo opponents.
|
||||
|
||||
### 1. BAT - 正面交火 (Battle)
|
||||
衡量选手的基础枪法、击杀效率及高水平对抗能力。
|
||||
## 2. PTL (Pistol Round)
|
||||
*Focus: Proficiency in pistol rounds (R1 & R13).*
|
||||
|
||||
**权重公式:**
|
||||
```python
|
||||
Score = (
|
||||
0.25 * n('Rating') + # 基础 Rating
|
||||
0.20 * n('KD_Ratio') + # 击杀死亡比
|
||||
0.15 * n('ADR') + # 回合均伤
|
||||
0.10 * n('Duel_Win_Rate') + # 1v1 对枪胜率
|
||||
0.10 * n('High_Elo_KD_Diff') + # 高分局表现差值 (抗压)
|
||||
0.10 * n('Multi_Kill_Avg') # 多杀能力 (3k+)
|
||||
)
|
||||
```
|
||||
**Features & Weights:**
|
||||
- **Pistol KD (50%)**: Kill/Death ratio in pistol rounds.
|
||||
- **Pistol Util Efficiency (25%)**: Headshot rate in pistol rounds (proxy for precision).
|
||||
- **Pistol Multi-Kills (25%)**: Frequency of multi-kills in pistol rounds.
|
||||
|
||||
### 2. STA - 稳定性 (Stability)
|
||||
衡量选手表现的波动性以及在顺风/逆风局的发挥。
|
||||
## 3. HPS (High Pressure)
|
||||
*Focus: Clutching and performing under stress.*
|
||||
|
||||
**权重公式:**
|
||||
```python
|
||||
Score = (
|
||||
0.30 * (100 - n('Rating_Volatility')) + # 评分波动性 (越低越好)
|
||||
0.30 * n('Loss_Rating') + # 败局 Rating (尽力局表现)
|
||||
0.20 * n('Win_Rating') + # 胜局 Rating
|
||||
0.10 * (100 - abs(n('Time_Corr'))) # 状态随时间下滑程度 (耐力)
|
||||
)
|
||||
```
|
||||
**Features & Weights:**
|
||||
- **1v1 Win Rate (20%)**: Percentage of 1v1 clutches won.
|
||||
- **1v3+ Win Rate (30%)**: Percentage of 1vN (N>=3) clutches won (High impact).
|
||||
- **Match Point Win Rate (20%)**: Win rate in rounds where team is at match point.
|
||||
- **Comeback KD Diff (15%)**: KD difference when playing from behind (score gap >= 4).
|
||||
- **Undermanned Survival (15%)**: Ability to survive or trade when team is outnumbered.
|
||||
|
||||
### 3. HPS - 关键局 (High Pressure)
|
||||
衡量选手在残局、赛点等高压环境下的“大心脏”能力。
|
||||
## 4. SIDE (Side Proficiency)
|
||||
*Focus: Tactical versatility and side bias.*
|
||||
|
||||
**权重公式:**
|
||||
```python
|
||||
Score = (
|
||||
0.30 * n('Clutch_1v3+') + # 1v3 及以上残局获胜数
|
||||
0.20 * n('Match_Point_Win_Rate') + # 赛点局胜率
|
||||
0.20 * n('Comeback_KD_Diff') + # 翻盘局 KD 表现
|
||||
0.15 * n('Pressure_Entry_Rate') + # 逆风局首杀率
|
||||
0.15 * n('Rating') # 基础能力兜底
|
||||
)
|
||||
```
|
||||
**Features & Weights:**
|
||||
- **CT Rating (35%)**: Average Rating on CT side.
|
||||
- **T Rating (35%)**: Average Rating on T side.
|
||||
- **Side Balance (15%)**: Penalty for high disparity between T and CT performance (1 - |T_Rating - CT_Rating|).
|
||||
- **Entry Rate T (15%)**: Frequency of attempting entry kills on T side.
|
||||
|
||||
### 4. PTL - 手枪局 (Pistol Specialist)
|
||||
衡量选手在手枪局(Round 1 & 13)的专项统治力。
|
||||
## 5. UTIL (Utility)
|
||||
*Focus: Strategic use of grenades.*
|
||||
|
||||
**权重公式:**
|
||||
```python
|
||||
Score = (
|
||||
0.40 * n('Pistol_Kills_Avg') + # 手枪局场均击杀
|
||||
0.40 * n('Pistol_Win_Rate') + # 手枪局胜率
|
||||
0.20 * n('Headshot_Kills_Avg') # 场均爆头击杀 (手枪局极其依赖爆头)
|
||||
)
|
||||
```
|
||||
**Features & Weights:**
|
||||
- **Util Usage Rate (25%)**: Frequency of buying/using utility items.
|
||||
- **Flash Assists (20%)**: Average flash assists per match.
|
||||
- **Util Damage (20%)**: Average grenade damage per match.
|
||||
- **Flash Blind Time (15%)**: Average enemy blind time per match.
|
||||
- **Flash Efficiency (20%)**: Enemies blinded per flash thrown.
|
||||
|
||||
### 5. SIDE - 攻防偏好 (Side Preference)
|
||||
衡量选手在 T (进攻) 和 CT (防守) 两端的均衡性与统治力。
|
||||
## 6. STA (Stability)
|
||||
*Focus: Consistency and mental resilience.*
|
||||
|
||||
**权重公式:**
|
||||
```python
|
||||
Score = (
|
||||
0.35 * n('CT_Rating') + # CT 方 Rating
|
||||
0.35 * n('T_Rating') + # T 方 Rating
|
||||
0.15 * n('CT_First_Kill_Rate') + # CT 方首杀率 (防守前压/偷人)
|
||||
0.15 * n('T_First_Kill_Rate') # T 方首杀率 (突破能力)
|
||||
)
|
||||
```
|
||||
|
||||
### 6. UTIL - 道具 (Utility)
|
||||
衡量选手对道具的投入程度(购买频率)以及使用效果(伤害/白)。
|
||||
|
||||
**权重公式:**
|
||||
```python
|
||||
Score = (
|
||||
0.35 * n('Usage_Rate') + # 道具购买/使用频率
|
||||
0.25 * n('Avg_Nade_Dmg') + # 场均手雷/火伤害
|
||||
0.20 * n('Avg_Flash_Time') + # 场均致盲时间
|
||||
0.20 * n('Avg_Flash_Enemy') # 场均致盲敌人数
|
||||
)
|
||||
```
|
||||
**Features & Weights:**
|
||||
- **Rating Consistency (30%)**: Inverse of Rating Standard Deviation (Lower variance = Higher score).
|
||||
- **Fatigue Resistance (20%)**: Performance drop-off in later matches of the day (vs first 3 matches).
|
||||
- **Win/Loss Gap (30%)**: Difference in Rating between Won and Lost matches (Smaller gap = More stable).
|
||||
- **Time/Rating Correlation (20%)**: Ability to maintain rating in long matches.
|
||||
|
||||
---
|
||||
|
||||
## 数据更新机制
|
||||
|
||||
所有特征数据均由 ETL 流程 (`ETL/L3_Builder.py`) 每日自动计算更新。
|
||||
- **源数据**: `fact_match_players`, `fact_round_events`, `fact_rounds` 等 L2 层事实表。
|
||||
- **存储**: 计算结果存储于 `database/L3/L3_Features.sqlite` 的 `dm_player_features` 表中。
|
||||
- **展示**: 前端 Profile 页面读取该表数据,并结合队内分布 (`radar_dist`) 进行可视化渲染。
|
||||
## Calculation Process (ETL)
|
||||
1. **L2 Aggregation**: Raw match data is aggregated into `fact_match_players` (L2).
|
||||
2. **Feature Extraction**: Complex features (e.g., Pistol KD, Side Rating) are calculated per player.
|
||||
3. **Normalization**: Each feature is scaled to 0-100 based on population distribution.
|
||||
4. **Weighted Sum**: Dimension scores are calculated using the weights above.
|
||||
5. **Radar Chart**: Final scores are displayed on the 6-axis radar chart in the player profile.
|
||||
|
||||
Reference in New Issue
Block a user