Spaces:
Running
Running
James McCool
commited on
Commit
·
4494b9c
1
Parent(s):
c892df5
Refactor assist projection calculations in app.py to improve accuracy by scaling based on total kills instead of kill predictions. This change enhances the integrity of player performance metrics in both team and player data initialization functions, ensuring more reliable projections.
Browse files
app.py
CHANGED
@@ -359,7 +359,7 @@ def init_team_data(game_count, team, opponent, win_loss_settings, kill_predictio
|
|
359 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['wKill%'] * opp_pos_kills_boost_win.get(row['position'], 1), axis=1)
|
360 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['wDeath%'] * opp_pos_deaths_boost_win.get(row['position'], 1), axis=1)
|
361 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
362 |
-
assist_scale = min(1.0,
|
363 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
364 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['wCS'] * opp_pos_cs_boost_win.get(row['position'], 1), axis=1)
|
365 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
@@ -367,7 +367,7 @@ def init_team_data(game_count, team, opponent, win_loss_settings, kill_predictio
|
|
367 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['lKill%'] * opp_pos_kills_boost_loss.get(row['position'], 1), axis=1)
|
368 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['lDeath%'] * opp_pos_deaths_boost_loss.get(row['position'], 1), axis=1)
|
369 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
370 |
-
assist_scale = min(1.0,
|
371 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
372 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['lCS'] * opp_pos_cs_boost_loss.get(row['position'], 1), axis=1)
|
373 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
@@ -573,7 +573,7 @@ def init_player_data(game_count, players, opponent, win_loss_settings, kill_pred
|
|
573 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['wKill%'] * opp_pos_kills_boost_win.get(row['position'], 1), axis=1)
|
574 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['wDeath%'] * opp_pos_deaths_boost_win.get(row['position'], 1), axis=1)
|
575 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
576 |
-
assist_scale = min(1.0,
|
577 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
578 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['wCS'] * opp_pos_cs_boost_win.get(row['position'], 1), axis=1)
|
579 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
@@ -581,7 +581,7 @@ def init_player_data(game_count, players, opponent, win_loss_settings, kill_pred
|
|
581 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['lKill%'] * opp_pos_kills_boost_loss.get(row['position'], 1), axis=1)
|
582 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['lDeath%'] * opp_pos_deaths_boost_loss.get(row['position'], 1), axis=1)
|
583 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
584 |
-
assist_scale = min(1.0,
|
585 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
586 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['lCS'] * opp_pos_cs_boost_loss.get(row['position'], 1), axis=1)
|
587 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
|
|
359 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['wKill%'] * opp_pos_kills_boost_win.get(row['position'], 1), axis=1)
|
360 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['wDeath%'] * opp_pos_deaths_boost_win.get(row['position'], 1), axis=1)
|
361 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
362 |
+
assist_scale = min(1.0, team_data['Kill_Proj'].sum() / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0
|
363 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
364 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['wCS'] * opp_pos_cs_boost_win.get(row['position'], 1), axis=1)
|
365 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
|
|
367 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['lKill%'] * opp_pos_kills_boost_loss.get(row['position'], 1), axis=1)
|
368 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['lDeath%'] * opp_pos_deaths_boost_loss.get(row['position'], 1), axis=1)
|
369 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
370 |
+
assist_scale = min(1.0, team_data['Kill_Proj'].sum() / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0
|
371 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
372 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['lCS'] * opp_pos_cs_boost_loss.get(row['position'], 1), axis=1)
|
373 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
|
|
573 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['wKill%'] * opp_pos_kills_boost_win.get(row['position'], 1), axis=1)
|
574 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['wDeath%'] * opp_pos_deaths_boost_win.get(row['position'], 1), axis=1)
|
575 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
576 |
+
assist_scale = min(1.0, team_data['Kill_Proj'].sum() / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0
|
577 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
578 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['wCS'] * opp_pos_cs_boost_win.get(row['position'], 1), axis=1)
|
579 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
|
|
581 |
team_data['Kill_Proj'] = team_data.apply(lambda row: row['lKill%'] * opp_pos_kills_boost_loss.get(row['position'], 1), axis=1)
|
582 |
team_data['Death_Proj'] = team_data.apply(lambda row: row['lDeath%'] * opp_pos_deaths_boost_loss.get(row['position'], 1), axis=1)
|
583 |
raw_assists = team_data.apply(lambda row: row['wAssist%'] * opp_pos_assists_boost_win.get(row['position'], 1), axis=1) * team_data['Kill_Proj'].sum()
|
584 |
+
assist_scale = min(1.0, team_data['Kill_Proj'].sum() / raw_assists.sum()) if raw_assists.sum() > 0 else 1.0
|
585 |
team_data['Assist_Proj'] = raw_assists * assist_scale
|
586 |
team_data['CS_Proj'] = team_data.apply(lambda row: row['lCS'] * opp_pos_cs_boost_loss.get(row['position'], 1), axis=1)
|
587 |
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|