From 7ab9df2acfb384581facd093815d92f97e3434c3 Mon Sep 17 00:00:00 2001 From: Jacky Yang Date: Sat, 24 Jan 2026 02:01:03 +0800 Subject: [PATCH] 0.4.3: Feature/WebRDD uploaded. --- FeatureRDD.md | 123 +++++++++++++++++++++++ RDD.md => WebRDD.md | 0 database/docs/original/特征维度prompt.md | 103 +++++++++++++++++++ database/docs/事件结构统一方案.md | 43 ++++++++ 4 files changed, 269 insertions(+) create mode 100644 FeatureRDD.md rename RDD.md => WebRDD.md (100%) create mode 100644 database/docs/original/特征维度prompt.md create mode 100644 database/docs/事件结构统一方案.md diff --git a/FeatureRDD.md b/FeatureRDD.md new file mode 100644 index 0000000..c18c43a --- /dev/null +++ b/FeatureRDD.md @@ -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方突破成功率、辅助侧重道具配合得分)进行针对性分析,同时保留指挥手动调节的灵活性。 \ No newline at end of file diff --git a/RDD.md b/WebRDD.md similarity index 100% rename from RDD.md rename to WebRDD.md diff --git a/database/docs/original/特征维度prompt.md b/database/docs/original/特征维度prompt.md new file mode 100644 index 0000000..eb92ed8 --- /dev/null +++ b/database/docs/original/特征维度prompt.md @@ -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),在翻盘阶段,哪位选手的各项表现数据有最大的正面提升? + +- 价值何在: 这能精准地找出那些在队伍陷入绝境时,能够挺身而出、提升自己状态的选手——这是一个至关重要的领袖和韧性特质。 + + diff --git a/database/docs/事件结构统一方案.md b/database/docs/事件结构统一方案.md new file mode 100644 index 0000000..7527781 --- /dev/null +++ b/database/docs/事件结构统一方案.md @@ -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 数据拟合,以免误导用户。