0.4.3: Feature/WebRDD uploaded.

This commit is contained in:
2026-01-24 02:01:03 +08:00
parent d770b04606
commit 7ab9df2acf
4 changed files with 269 additions and 0 deletions

123
FeatureRDD.md Normal file
View File

@@ -0,0 +1,123 @@
### basic、个人基础数据特征
1. 平均Rating每局
2. 平均KD值每局
3. 平均KAST每局
4. 平均RWS每局
5. 每局爆头击杀数
6. 爆头率(爆头击杀/总击杀)
7. 每局首杀次数
8. 每局首死次数
9. 首杀率(首杀次数/首遇交火次数)
10. 首死率(首死次数/首遇交火次数)
11. 每局2+杀/3+杀/4+杀/5杀次数多杀
12. 连续击杀累计次数(连杀)
15. **(New) 助攻次数 (assisted_kill)**
16. **(New) 无伤击杀 (perfect_kill)**
17. **(New) 复仇击杀 (revenge_kill)**
18. **(New) AWP击杀数 (awp_kill)**
19. **(New) 总跳跃次数 (jump_count)**
挖掘能力维度:
### 1、时间序列与稳定性特征
1. 近30局平均Rating长期Rating
2. 胜局平均Rating
3. 败局平均Rating
4. Rating波动系数近10局Rating计算
5. 同一天内比赛时长与Rating相关性每2小时Rating变化率
6. 连续比赛局数与表现衰减率如第5局后vs前4局的KD变化
### 2、局内对抗能力特征
1. 对位最高Rating对手的KD差自身击杀-被该对手击杀)
2. 对位最低Rating对手的KD差自身击杀-被该对手击杀)
3. 对位所有对手的胜率(自身击杀>被击杀的对手占比)
4. 平均对枪成功率(对所有对手的对枪成功率求平均)
* ~~A. 对枪反应时间(遇敌到开火平均时长,需录像解析)~~ (Phase 5)
* B. 近/中/远距对枪占比及各自胜率 (仅 Classic 可行)
5. 与单个对手的交火次数(相遇频率)
### 3、高压场景表现特征
1. 1v1/1v2/1v3+残局胜率
2. 赛点12-12、12-11等残局胜率
3. 人数劣势时的平均存活时间/击杀数(少打多能力)
4. 队伍连续丢3+局后自身首杀率(压力下突破能力)
5. 队伍连续赢3+局后自身2+杀率(顺境多杀能力)
6. 受挫后状态下滑率(被刀/被虐泉后3回合内Rating下降值
7. 起势后状态提升率(关键残局/多杀后3回合内Rating上升值
8. 翻盘阶段KD提升值同上场景下自身KD与平均差值
9. 连续丢分抗压性连续丢4+局时自身KD与平均差值
### 4、手枪局专项特征
1. 手枪局首杀次数
2. 手枪局2+杀次数(多杀)
3. 手枪局连杀次数
4. 参与的手枪局胜率(round1 round13)
5. 手枪类武器KD
6. 手枪局道具使用效率(烟雾/闪光帮助队友击杀数/投掷次数)
### 5、阵营倾向T/CT特征
1. CT方平均Rating
2. T方平均Rating
3. CT方首杀率
4. T方首杀率
5. CT方守点成功率负责区域未被突破的回合占比
6. T方突破成功率成功突破敌方首道防线的回合占比
7. CT/T方KD差值CT KD - T KD
8. **(New) 下包次数 (planted_bomb)**
9. **(New) 拆包次数 (defused_bomb)**
### 6、道具特征
1. 手雷伤害 (`throw_harm`)
2. 闪光致盲时间 (`flash_time`, `flash_enemy_time`, `flash_team_time`)
3. 闪光致盲人数 (`flash_enemy`, `flash_team`)
4. 每局平均道具数量与使用率(烟雾、闪光、燃烧弹、手雷)
demo维度
### d1、经济管理特征
1. 每局平均道具数量与使用率(烟雾、闪光、燃烧弹、手雷)
2. 伤害性道具效率(手雷/燃烧弹造成伤害值/投掷次数)
3. 细分武器KDAWP、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. 区域对枪胜率(某区域内击杀数/死亡数)
5. 默认站位下的首杀率
6. 非常规站位的击杀效率(非默认站位击杀数/停留时间)
---
### 手调1.、指挥手动调节因子主观评价0-10分
1. 抗压能力(高压局心态稳定性)
2. 沟通量(信息传递频率与有效性)
3. 辅助决策能力(半区决策建议的合理性)
4. 团队协作倾向(主动帮助队友的频率)
5. 打法激进程度进攻倾向0为保守10为激进
6. 执行力(对指挥战术的落实程度)
7. 临场应变力(突发情况的自主处理能力)
8. 氛围带动性(团队士气影响,正向/负向)
以上特征覆盖了客观数据与主观调节维度可直接作为数据集基础后续结合位置倾向如突破手侧重T方突破成功率、辅助侧重道具配合得分进行针对性分析同时保留指挥手动调节的灵活性。

View File

View File

@@ -0,0 +1,103 @@
我现在需要你帮助我制作一个cs能力分析器与指挥帮助器命名为csanalyzer首先我们需要沟通确定CS2是分CT与TCT应该有哪几个位置T应该有哪几个位置
常见来说 T包括步枪手 突破手 狙击位 辅助 自由人,其中一位兼任指挥
CT包括小区主防 区域辅助 自由人 狙击位
你认可这样的分析吗请给我你的思路首先我们确定每个位置与其倾向然后再来分析玩家的数据应该包括哪些维度再来分析如何建立python模型分析这个模型我希望有一定的主观调整性因为我是指挥很多地方数据无法提现一个人是怎么玩游戏的例如rating低但是做的事很扎实只是因为碰的人不多这样不应该给低分。
现在我们需要开始构建能力维度,能力维度应该是极其极其丰富的。
首先我给你一张图这是5e主界面截图下来的里面包括一些维度。
但是我认为不管是rating还是rws还是5e评分都并没有考虑到特定玩家在队伍内的现状所以在这个基础上进行能力评分同样我认为是不合理的。
我认为首先应该增加一些维度:
1.玩家时间序列能力评估长期rating胜局rating败局rating等参数波动系数
2.玩家局内对枪能力评估对位对手最高最低rating的KD差对位所有人的胜率或百分比计算例如我对面第一=62就是我杀他6次他杀我2次这个应该与遇到的次数相关而非线性。
3.玩家高压发挥评估:残局能力,赛点残局能力,少打多能力,连续丢分压力下突破能力首杀能力
4.玩家手枪局评估:手枪局首杀能力,多杀能力,连杀能力,回放能力
5.玩家T/CT评估玩家平均在CT表现好还是T表现好倾向于做什么CT首杀率等评估进攻与防守倾向
6.玩家热图评估:常用站位,不同默认站位下打出的效果,哪里杀人多哪里杀人少
7.玩家数据评估常用ratingKDKASTimpactRWS等数据产出
8.玩家分位置能力评估:不同位置要求不同,指挥在能力值上应该有增益,狙击手与步枪手更加看重补枪效率,辅助看中道具能力等
9.玩家经济管理评估每局道具量购买与使用与产生作用关系主要针对伤害性道具武器倾向武器效果武器kd选择倾向与局效果的相关度
10.玩家持续时间评估是否有随着同一天内比赛进行rating下降
11.指挥手动调参维度:作为指挥我知道队伍中谁抗压好,谁抗压不行,谁沟通多,谁可以辅助指挥进行半区决策,谁喜欢帮助队友,谁是激进谁是保守
给我基于这些你的更多想法我来思考与选择。
除了上面给你的图片之外,你还有非常多指标可用,局内爆头击杀 爆头率 首杀首死道具rating残局等等详细内容也可以进行特征工程产出更多的数据维度特征
队伍维度应该有一些倾向分析例如喜欢打哪块胜率如何下包概率回访概率回防成功概率赌点成功概率eco局anti-eco局胜率发生概率帮助指挥进行决策。
### 拓展方向一:团队协同与配合分析
我们之前主要聚焦于单个选手但CS的精髓在于团队。我们可以增加一些维度来衡量选手之间是如何进行 互动 的。
- 补枪与被补枪效率 (Trade & Refrag Efficiency):
- 这是什么: 当一名队员阵亡后,队友立刻补枪完成人数交换的频率有多高?这个反应时间有多快?在队伍里,谁和谁是最高效的“补枪搭档”?
- 价值何在: 这是一个可以直接量化的、衡量团队协调性和沟通水平的指标。高的补枪率意味着队伍像一个整体在移动和战斗;反之则可能说明队员之间站位过远,打得太孤立。它能帮你回答:“我们到底是不是在抱团打?”
- 道具配合得分 (Utility Coordination Score):
- 这是什么: 衡量一名队员击杀的敌人,有多少是被队友的闪光弹致盲的。反过来,一名队员投掷的烟雾弹或燃烧弹,有多少次成功帮助队友完成了下包或拆包?
- 价值何在: 这将分析从“你有没有扔闪”提升到了“你的闪光弹 帮到人 了吗?”。它量化了辅助性道具的真实影响力,并能找出团队中最高效的道具配合二人组。
- “拉枪线”与“卖队友”行为分析 (高级功能):
- 这是什么: 这是一个更细微、也更难量化的指标。我们可以尝试识别一种模式:当一名队员阵亡时,他附近的队友是否在没有交火的情况下存活了下来。这 可能 是卖队友行为。反之,我们也可以识别出,当一名队员的阵亡成功吸引了敌方大量注意力,从而让队友拿到多杀的情况,这就是成功的“拉扯空间”。
- 价值何在: 作为指挥你最清楚什么是必要的牺牲什么是自私的打法。虽然这个指标很难做到100%自动化判断,但它可以将这些“可疑”的回合标记出来,供你亲自复盘,从而对团队内部的动态有更深刻的洞察。
### 拓展方向二:高级经济影响力分析
我们可以进一步优化衡量选手真实影响力的方式,超越原始的伤害或击杀数据。
- 经济扭转因子 (Economic Swing Factor):
- 这是什么: 量化那些对双方经济产生巨大影响的行为。例如:
1. 武器窃取价值: 击杀对方的狙击手并缴获其AWP这相当于一次近$6000的经济优势$4750的武器成本 + 击杀奖励)。
2. “影响力保枪”价值: 成功保下一把有价值的武器如AWP或长枪并在 下一回合 使用这把枪赢得了胜利。
- 价值何在: 这能凸显出那些在数据面板上不显眼,但通过聪明的经济决策改变了战局的选手。
- “回合致胜贡献”评分 (Round-Winning Contribution Score):
- 这是什么: 在任何一个赢下的回合里,哪些行为是 最关键 的一个1v3的残局胜利显然贡献巨大。但那个为团队创造了5v4优势的开局首杀呢那颗为安全下包提供了保障的烟雾弹呢我们可以建立一个模型为回合内的不同行为首杀、残局、关键道具赋予“胜利贡献分”。
- 价值何在: 它能帮助你发现,谁在持续地做出那些 导致胜利的关键决策 ,即便他不是数据榜上的第一名。
### 拓展方向三:心理与势头指标
这个方向尝试量化比赛中的“心态”博弈。
- “上头”与“起势”指标 ("Tilt" & "Snowball" Indicators):
- 这是什么: 一名选手在经历了一次令人沮丧的死亡(比如被刀)后,他的个人表现(如枪法精准度、反应速度)是否会在接下来的几个回合里有明显下滑?反之,在他赢得一个关键残局或拿到多杀后,他的表现是否会飙升(即“滚雪球”效应)?
- 价值何在: 这能帮助你作为指挥,识别出哪些队员心态坚韧,哪些队员在失利后可能需要一句鼓励。同时,也能看出谁是那种能依靠势头越打越好的“顺风神”。
- 翻盘贡献分 (Comeback Contribution Score):
- 这是什么: 在那些队伍完成大翻盘的比赛中例如从4-11追到13-11在翻盘阶段哪位选手的各项表现数据有最大的正面提升
- 价值何在: 这能精准地找出那些在队伍陷入绝境时,能够挺身而出、提升自己状态的选手——这是一个至关重要的领袖和韧性特质。

View File

@@ -0,0 +1,43 @@
## 3. 统一处理方案 (Unified Pipeline Strategy)
为了解决互斥问题,建议在 ETL `L2_Builder` 中建立一个 **中间抽象层 (Unified Event Model)**
### 3.1 统一事件结构
无论来源是 Classic 还是 Leetify都解析为以下标准结构存入 `fact_round_events`
```python
@dataclass
class UnifiedKillEvent:
match_id: str
round_num: int
tick: int = 0 # Web数据通常为0或估算
seconds: float = 0.0 # 回合开始后的秒数
attacker_steam_id: str
victim_steam_id: str
assister_steam_id: str = None
weapon: str
is_headshot: bool
is_wallbang: bool
is_blind: bool # Classic: attackerblind, Leetify: AttackerBlind
is_through_smoke: bool # Classic: throughsmoke, Leetify: ThroughSmoke
is_noscope: bool
# 空间数据 (Classic 有值, Leetify 为 Null)
attacker_pos: Tuple[float, float, float] = None
victim_pos: Tuple[float, float, float] = None
distance: float = None # 有坐标时自动计算
# 来源标记
source_type: str # 'classic' | 'leetify'
```
### 3.2 降级策略 (Graceful Degradation)
在 Web 前端或 API 层:
1. **热力图/站位分析**: 检查 `match.data_source_type`。如果是 `leetify`,显示“该场次不支持热力图数据”,或隐藏相关 Tab。
2. **距离分析**: 同上Leetify 场次不计入“平均交战距离”统计。
3. **经济分析**: Leetify 场次可提供更精准的经济走势图(因为有确切的 `Money` 字段Classic 场次可能需显示估算值。
### 3.3 推荐补充
对于 **反应时间**、**拉枪线**、**精确道具覆盖** 等 `❌` 项,建议列入 **Phase 5 (Demo Parser)** 开发计划,不强行通过 Web 数据拟合,以免误导用户。