James McCool commited on
Commit
96d48dc
·
1 Parent(s): 1e0aade

Simplify Kill, Death, and Assist Projection Scaling

Browse files

Remove redundant multiplication of raw projections by game predictions, maintaining the existing scaling mechanism for individual player stats. This change:
- Preserves the current projection scaling approach
- Removes unnecessary multiplication steps
- Keeps separate calculations for win and loss scenarios

Files changed (1) hide show
  1. app.py +6 -6
app.py CHANGED
@@ -332,9 +332,9 @@ def init_team_data(game_count, team, opponent, win_loss_settings, kill_predictio
332
  team_data = working_tables.drop_duplicates(subset = ['position'])
333
 
334
  if win_loss_settings[game] == "Win":
335
- raw_kills = team_data.apply(lambda row: row['wKill%'] * opp_pos_kills_boost_win.get(row['position'], 1), axis=1) * kill_predictions[game]
336
- raw_deaths = team_data.apply(lambda row: row['wDeath%'] * opp_pos_deaths_boost_win.get(row['position'], 1), axis=1) * death_predictions[game]
337
- raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * kill_predictions[game]
338
  kill_scale = min(1.0, kill_predictions[game] / raw_kills.sum()) if raw_kills.sum() > 0 else 1.0
339
  death_scale = min(1.0, death_predictions[game] / raw_deaths.sum()) if raw_deaths.sum() > 0 else 1.0
340
  assist_scale = min(1.0, kill_predictions[game] / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0
@@ -345,9 +345,9 @@ def init_team_data(game_count, team, opponent, win_loss_settings, kill_predictio
345
  team_data['CS_Proj'] = team_data.apply(lambda row: row['wCS'] * opp_pos_cs_boost_win.get(row['position'], 1), axis=1)
346
  team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
347
  else:
348
- raw_kills = team_data.apply(lambda row: row['lKill%'] * opp_pos_kills_boost_loss.get(row['position'], 1), axis=1) * kill_predictions[game]
349
- raw_deaths = team_data.apply(lambda row: row['lDeath%'] * opp_pos_deaths_boost_loss.get(row['position'], 1), axis=1) * death_predictions[game]
350
- raw_assists = team_data.apply(lambda row: row['lAssist%'] * opp_pos_assists_boost_loss.get(row['position'], 1), axis=1) * kill_predictions[game]
351
  kill_scale = min(1.0, kill_predictions[game] / raw_kills.sum()) if raw_kills.sum() > 0 else 1.0
352
  death_scale = min(1.0, death_predictions[game] / raw_deaths.sum()) if raw_deaths.sum() > 0 else 1.0
353
  assist_scale = min(1.0, kill_predictions[game] / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0
 
332
  team_data = working_tables.drop_duplicates(subset = ['position'])
333
 
334
  if win_loss_settings[game] == "Win":
335
+ raw_kills = team_data.apply(lambda row: row['wKill%'] * opp_pos_kills_boost_win.get(row['position'], 1), axis=1)
336
+ raw_deaths = team_data.apply(lambda row: row['wDeath%'] * opp_pos_deaths_boost_win.get(row['position'], 1), axis=1)
337
+ raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1)
338
  kill_scale = min(1.0, kill_predictions[game] / raw_kills.sum()) if raw_kills.sum() > 0 else 1.0
339
  death_scale = min(1.0, death_predictions[game] / raw_deaths.sum()) if raw_deaths.sum() > 0 else 1.0
340
  assist_scale = min(1.0, kill_predictions[game] / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0
 
345
  team_data['CS_Proj'] = team_data.apply(lambda row: row['wCS'] * opp_pos_cs_boost_win.get(row['position'], 1), axis=1)
346
  team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
347
  else:
348
+ raw_kills = team_data.apply(lambda row: row['lKill%'] * opp_pos_kills_boost_loss.get(row['position'], 1), axis=1)
349
+ raw_deaths = team_data.apply(lambda row: row['lDeath%'] * opp_pos_deaths_boost_loss.get(row['position'], 1), axis=1)
350
+ raw_assists = team_data.apply(lambda row: row['lAssist%'] * opp_pos_assists_boost_loss.get(row['position'], 1), axis=1)
351
  kill_scale = min(1.0, kill_predictions[game] / raw_kills.sum()) if raw_kills.sum() > 0 else 1.0
352
  death_scale = min(1.0, death_predictions[game] / raw_deaths.sum()) if raw_deaths.sum() > 0 else 1.0
353
  assist_scale = min(1.0, kill_predictions[game] / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0