Spaces:
Running
Running
James McCool
commited on
Commit
·
55ed614
1
Parent(s):
46a3d32
Enhance opponent performance metrics in init_team_data function of app.py. Added calculations for kills, deaths, assists, and CS projections based on opponent statistics for both win and loss scenarios. This update improves the accuracy of team performance evaluations by incorporating opponent-specific boosts, enhancing the overall depth of statistical analysis.
Browse files
app.py
CHANGED
|
@@ -270,6 +270,14 @@ def init_team_data(team, opponent, win_loss, kill_prediction, death_prediction,
|
|
| 270 |
player_tables = tables
|
| 271 |
else:
|
| 272 |
opp_tables = tables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 273 |
|
| 274 |
if kill_prediction > 0:
|
| 275 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kill_share_win', 'playername_avg_death_share_win','playername_avg_assist_share_win',
|
|
@@ -280,15 +288,17 @@ def init_team_data(team, opponent, win_loss, kill_prediction, death_prediction,
|
|
| 280 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
| 281 |
|
| 282 |
if win_loss == "Win":
|
| 283 |
-
team_data['Kill_Proj'] = team_data['wKill%'] * kill_prediction
|
| 284 |
-
team_data['Death_Proj'] = team_data['wDeath%'] * death_prediction
|
| 285 |
-
team_data['Assist_Proj'] = team_data['wAssist%'] * kill_prediction
|
| 286 |
-
team_data = team_data[
|
|
|
|
| 287 |
else:
|
| 288 |
-
team_data['Kill_Proj'] = team_data['lKill%'] * kill_prediction
|
| 289 |
-
team_data['Death_Proj'] = team_data['lDeath%'] * death_prediction
|
| 290 |
-
team_data['Assist_Proj'] = team_data['lAssist%'] * kill_prediction
|
| 291 |
-
team_data = team_data[
|
|
|
|
| 292 |
else:
|
| 293 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kills_win', 'playername_avg_deaths_win', 'playername_avg_assists_win', 'playername_avg_total_cs_win',
|
| 294 |
'playername_avg_kills_loss', 'playername_avg_deaths_loss', 'playername_avg_assists_loss', 'playername_avg_total_cs_loss']]
|
|
@@ -298,15 +308,17 @@ def init_team_data(team, opponent, win_loss, kill_prediction, death_prediction,
|
|
| 298 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
| 299 |
|
| 300 |
if win_loss == "Win":
|
| 301 |
-
team_data['Kill_Proj'] = team_data['wKill%']
|
| 302 |
-
team_data['Death_Proj'] = team_data['wDeath%']
|
| 303 |
-
team_data['Assist_Proj'] = team_data['wAssist%']
|
| 304 |
-
team_data = team_data[
|
|
|
|
| 305 |
else:
|
| 306 |
-
team_data['Kill_Proj'] = team_data['lKill%']
|
| 307 |
-
team_data['Death_Proj'] = team_data['lDeath%']
|
| 308 |
-
team_data['Assist_Proj'] = team_data['lAssist%']
|
| 309 |
-
team_data = team_data[
|
|
|
|
| 310 |
|
| 311 |
return team_data.dropna().reset_index(drop=True)
|
| 312 |
|
|
|
|
| 270 |
player_tables = tables
|
| 271 |
else:
|
| 272 |
opp_tables = tables
|
| 273 |
+
opp_pos_kills_boost_win = dict(zip(tables['position'], tables['overall_win_kills_boost_pos']))
|
| 274 |
+
opp_pos_deaths_boost_win = dict(zip(tables['position'], tables['overall_win_deaths_boost_pos']))
|
| 275 |
+
opp_pos_assists_boost_win = dict(zip(tables['position'], tables['overall_win_assists_boost_pos']))
|
| 276 |
+
opp_pos_cs_boost_win = dict(zip(tables['position'], tables['overall_win_total_cs_boost_pos']))
|
| 277 |
+
opp_pos_kills_boost_loss = dict(zip(tables['position'], tables['overall_loss_kills_boost_pos']))
|
| 278 |
+
opp_pos_deaths_boost_loss = dict(zip(tables['position'], tables['overall_loss_deaths_boost_pos']))
|
| 279 |
+
opp_pos_assists_boost_loss = dict(zip(tables['position'], tables['overall_loss_assists_boost_pos']))
|
| 280 |
+
opp_pos_cs_boost_loss = dict(zip(tables['position'], tables['overall_loss_total_cs_boost_pos']))
|
| 281 |
|
| 282 |
if kill_prediction > 0:
|
| 283 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kill_share_win', 'playername_avg_death_share_win','playername_avg_assist_share_win',
|
|
|
|
| 288 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
| 289 |
|
| 290 |
if win_loss == "Win":
|
| 291 |
+
team_data['Kill_Proj'] = (team_data['wKill%'] * opp_pos_kills_boost_win.get(team_data['position'], 1)) * kill_prediction
|
| 292 |
+
team_data['Death_Proj'] = (team_data['wDeath%'] * opp_pos_deaths_boost_win.get(team_data['position'], 1)) * death_prediction
|
| 293 |
+
team_data['Assist_Proj'] = (team_data['wAssist%'] * opp_pos_assists_boost_win.get(team_data['position'], 1)) * kill_prediction
|
| 294 |
+
team_data['CS_Proj'] = (team_data['wCS'] * opp_pos_cs_boost_win.get(team_data['position'], 1)) * kill_prediction
|
| 295 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
| 296 |
else:
|
| 297 |
+
team_data['Kill_Proj'] = (team_data['lKill%'] * opp_pos_kills_boost_loss.get(team_data['position'], 1)) * kill_prediction
|
| 298 |
+
team_data['Death_Proj'] = (team_data['lDeath%'] * opp_pos_deaths_boost_loss.get(team_data['position'], 1)) * death_prediction
|
| 299 |
+
team_data['Assist_Proj'] = (team_data['lAssist%'] * opp_pos_assists_boost_loss.get(team_data['position'], 1)) * kill_prediction
|
| 300 |
+
team_data['CS_Proj'] = (team_data['lCS'] * opp_pos_cs_boost_loss.get(team_data['position'], 1)) * kill_prediction
|
| 301 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
| 302 |
else:
|
| 303 |
player_tables = player_tables[['playername', 'teamname', 'position', 'playername_avg_kills_win', 'playername_avg_deaths_win', 'playername_avg_assists_win', 'playername_avg_total_cs_win',
|
| 304 |
'playername_avg_kills_loss', 'playername_avg_deaths_loss', 'playername_avg_assists_loss', 'playername_avg_total_cs_loss']]
|
|
|
|
| 308 |
team_data = player_tables.drop_duplicates(subset = ['playername'])
|
| 309 |
|
| 310 |
if win_loss == "Win":
|
| 311 |
+
team_data['Kill_Proj'] = (team_data['wKill%'] * opp_pos_kills_boost_win.get(team_data['position'], 1))
|
| 312 |
+
team_data['Death_Proj'] = (team_data['wDeath%'] * opp_pos_deaths_boost_win.get(team_data['position'], 1))
|
| 313 |
+
team_data['Assist_Proj'] = (team_data['wAssist%'] * opp_pos_assists_boost_win.get(team_data['position'], 1))
|
| 314 |
+
team_data['CS_Proj'] = (team_data['wCS'] * opp_pos_cs_boost_win.get(team_data['position'], 1))
|
| 315 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
| 316 |
else:
|
| 317 |
+
team_data['Kill_Proj'] = (team_data['lKill%'] * opp_pos_kills_boost_loss.get(team_data['position'], 1))
|
| 318 |
+
team_data['Death_Proj'] = (team_data['lDeath%'] * opp_pos_deaths_boost_loss.get(team_data['position'], 1))
|
| 319 |
+
team_data['Assist_Proj'] = (team_data['lAssist%'] * opp_pos_assists_boost_loss.get(team_data['position'], 1))
|
| 320 |
+
team_data['CS_Proj'] = (team_data['lCS'] * opp_pos_cs_boost_loss.get(team_data['position'], 1))
|
| 321 |
+
team_data = team_data[['playername', 'teamname', 'position', 'Kill_Proj', 'Death_Proj', 'Assist_Proj', 'CS_Proj']]
|
| 322 |
|
| 323 |
return team_data.dropna().reset_index(drop=True)
|
| 324 |
|