0.4.3: Feature/WebRDD uploaded.
This commit is contained in:
123
FeatureRDD.md
Normal file
123
FeatureRDD.md
Normal 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. 细分武器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. 区域对枪胜率(某区域内击杀数/死亡数)
|
||||
5. 默认站位下的首杀率
|
||||
6. 非常规站位的击杀效率(非默认站位击杀数/停留时间)
|
||||
---
|
||||
|
||||
### 手调1.、指挥手动调节因子(主观评价,0-10分)
|
||||
1. 抗压能力(高压局心态稳定性)
|
||||
2. 沟通量(信息传递频率与有效性)
|
||||
3. 辅助决策能力(半区决策建议的合理性)
|
||||
4. 团队协作倾向(主动帮助队友的频率)
|
||||
5. 打法激进程度(进攻倾向,0为保守,10为激进)
|
||||
6. 执行力(对指挥战术的落实程度)
|
||||
7. 临场应变力(突发情况的自主处理能力)
|
||||
8. 氛围带动性(团队士气影响,正向/负向)
|
||||
|
||||
|
||||
以上特征覆盖了客观数据与主观调节维度,可直接作为数据集基础,后续结合位置倾向(如突破手侧重T方突破成功率、辅助侧重道具配合得分)进行针对性分析,同时保留指挥手动调节的灵活性。
|
||||
103
database/docs/original/特征维度prompt.md
Normal file
103
database/docs/original/特征维度prompt.md
Normal file
@@ -0,0 +1,103 @@
|
||||
我现在需要你帮助我制作一个cs能力分析器与指挥帮助器,命名为csanalyzer,首先我们需要沟通确定,CS2是分CT与T,CT应该有哪几个位置,T应该有哪几个位置?
|
||||
|
||||
常见来说 T包括步枪手 突破手 狙击位 辅助 自由人,其中一位兼任指挥
|
||||
|
||||
CT包括小区主防 区域辅助 自由人 狙击位
|
||||
|
||||
你认可这样的分析吗?请给我你的思路,首先我们确定每个位置与其倾向,然后再来分析玩家的数据应该包括哪些维度,再来分析如何建立python模型分析(这个模型我希望有一定的主观调整性,因为我是指挥,很多地方数据无法提现一个人是怎么玩游戏的,例如rating低但是做的事很扎实,只是因为碰的人不多,这样不应该给低分。)
|
||||
|
||||
现在我们需要开始构建能力维度,能力维度应该是极其极其丰富的。
|
||||
|
||||
首先我给你一张图,这是5e主界面截图下来的,里面包括一些维度。
|
||||
|
||||
但是我认为不管是rating还是rws还是5e评分都并没有考虑到特定玩家在队伍内的现状,所以在这个基础上进行能力评分同样我认为是不合理的。
|
||||
|
||||
我认为首先应该增加一些维度:
|
||||
|
||||
1.玩家时间序列能力评估:长期rating,胜局rating,败局rating等参数,波动系数
|
||||
|
||||
2.玩家局内对枪能力评估:对位对手最高最低rating的KD差,对位所有人的胜率或百分比计算(例如我:对面第一=6:2,就是我杀他6次他杀我2次),这个应该与遇到的次数相关而非线性。
|
||||
|
||||
3.玩家高压发挥评估:残局能力,赛点残局能力,少打多能力,连续丢分压力下突破能力首杀能力
|
||||
|
||||
4.玩家手枪局评估:手枪局首杀能力,多杀能力,连杀能力,回放能力
|
||||
|
||||
5.玩家T/CT评估:玩家平均在CT表现好还是T表现好,倾向于做什么,CT首杀率等评估进攻与防守倾向
|
||||
|
||||
6.玩家热图评估:常用站位,不同默认站位下打出的效果,哪里杀人多哪里杀人少
|
||||
|
||||
7.玩家数据评估:常用rating,KD,KAST,impact,RWS等数据产出
|
||||
|
||||
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),在翻盘阶段,哪位选手的各项表现数据有最大的正面提升?
|
||||
|
||||
- 价值何在: 这能精准地找出那些在队伍陷入绝境时,能够挺身而出、提升自己状态的选手——这是一个至关重要的领袖和韧性特质。
|
||||
|
||||
|
||||
43
database/docs/事件结构统一方案.md
Normal file
43
database/docs/事件结构统一方案.md
Normal 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 数据拟合,以免误导用户。
|
||||
Reference in New Issue
Block a user