James McCool commited on
Commit
17b7fee
·
1 Parent(s): 05f2b9c

Enhance predict_dupes function to include League of Legends (LOL) alongside CS2 for sport-specific logic, updating conditions for duplicate count calculations and own ratio nerf adjustments to improve accuracy in player predictions.

Browse files
Files changed (1) hide show
  1. global_func/predict_dupes.py +4 -4
global_func/predict_dupes.py CHANGED
@@ -435,7 +435,7 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
435
  np.round(portfolio['dupes_calc'], 0) - 1
436
  )
437
  elif type_var == 'Classic':
438
- if sport_var == 'CS2':
439
  dup_count_columns = ['CPT_Own_percent_rank', 'FLEX1_Own_percent_rank', 'FLEX2_Own_percent_rank', 'FLEX3_Own_percent_rank', 'FLEX4_Own_percent_rank', 'FLEX5_Own_percent_rank']
440
  own_columns = ['CPT_Own', 'FLEX1_Own', 'FLEX2_Own', 'FLEX3_Own', 'FLEX4_Own', 'FLEX5_Own']
441
  calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
@@ -481,7 +481,7 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
481
  0,
482
  np.round(portfolio['dupes_calc'], 0) - 1
483
  )
484
- elif sport_var != 'CS2':
485
  num_players = len([col for col in portfolio.columns if col not in ['salary', 'median', 'Own']])
486
  dup_count_columns = [f'player_{i}_percent_rank' for i in range(1, num_players + 1)]
487
  own_columns = [f'player_{i}_own' for i in range(1, num_players + 1)]
@@ -515,9 +515,9 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
515
  )
516
  percentile_cut_scalar = portfolio['median'].max() # Get scalar value
517
  if type_var == 'Classic':
518
- if sport_var == 'CS2':
519
  own_ratio_nerf = 2
520
- elif sport_var != 'CS2':
521
  own_ratio_nerf = 1.5
522
  elif type_var == 'Showdown':
523
  own_ratio_nerf = 1.5
 
435
  np.round(portfolio['dupes_calc'], 0) - 1
436
  )
437
  elif type_var == 'Classic':
438
+ if sport_var == 'CS2' or sport_var == 'LOL':
439
  dup_count_columns = ['CPT_Own_percent_rank', 'FLEX1_Own_percent_rank', 'FLEX2_Own_percent_rank', 'FLEX3_Own_percent_rank', 'FLEX4_Own_percent_rank', 'FLEX5_Own_percent_rank']
440
  own_columns = ['CPT_Own', 'FLEX1_Own', 'FLEX2_Own', 'FLEX3_Own', 'FLEX4_Own', 'FLEX5_Own']
441
  calc_columns = ['own_product', 'own_average', 'own_sum', 'avg_own_rank', 'dupes_calc', 'low_own_count', 'Ref_Proj', 'Max_Proj', 'Min_Proj', 'Avg_Ref', 'own_ratio']
 
481
  0,
482
  np.round(portfolio['dupes_calc'], 0) - 1
483
  )
484
+ elif sport_var != 'CS2' and sport_var != 'LOL':
485
  num_players = len([col for col in portfolio.columns if col not in ['salary', 'median', 'Own']])
486
  dup_count_columns = [f'player_{i}_percent_rank' for i in range(1, num_players + 1)]
487
  own_columns = [f'player_{i}_own' for i in range(1, num_players + 1)]
 
515
  )
516
  percentile_cut_scalar = portfolio['median'].max() # Get scalar value
517
  if type_var == 'Classic':
518
+ if sport_var == 'CS2' or sport_var == 'LOL':
519
  own_ratio_nerf = 2
520
+ elif sport_var != 'CS2' and sport_var != 'LOL':
521
  own_ratio_nerf = 1.5
522
  elif type_var == 'Showdown':
523
  own_ratio_nerf = 1.5