James McCool commited on
Commit
6fc172b
·
1 Parent(s): 3d3402f

Refactor Lineup Edge calculation in predict_dupes.py by removing the duplicate adjustment and simplifying the formula. This change enhances clarity in the computation while maintaining the integrity of the prediction model.

Browse files
Files changed (1) hide show
  1. global_func/predict_dupes.py +2 -3
global_func/predict_dupes.py CHANGED
@@ -419,10 +419,9 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
419
 
420
  portfolio['low_own_count'] = portfolio[own_columns].apply(lambda row: (row < 0.10).sum(), axis=1)
421
  portfolio['Finish_percentile'] = portfolio.apply(lambda row: row['Finish_percentile'] if row['low_own_count'] <= 0 else row['Finish_percentile'] / row['low_own_count'], axis=1)
422
- portfolio['Lineup Edge_Raw'] = (portfolio['Win%'] * ((.5 - portfolio['Finish_percentile']) * (Contest_Size / 2.5))) - .5
423
  portfolio['Lineup Edge'] = (portfolio['Win%'] * ((.5 - portfolio['Finish_percentile']) * (Contest_Size / 2.5)))
424
- portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
425
- portfolio['Lineup Edge'] = (((portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean())) + portfolio['Lineup Edge_Raw']) / 2
426
  portfolio['Weighted Own'] = portfolio[own_columns].apply(calculate_weighted_ownership_wrapper, axis=1)
427
  portfolio['Geomean'] = np.power((portfolio[own_columns] * 100).product(axis=1), 1 / len(own_columns))
428
 
 
419
 
420
  portfolio['low_own_count'] = portfolio[own_columns].apply(lambda row: (row < 0.10).sum(), axis=1)
421
  portfolio['Finish_percentile'] = portfolio.apply(lambda row: row['Finish_percentile'] if row['low_own_count'] <= 0 else row['Finish_percentile'] / row['low_own_count'], axis=1)
 
422
  portfolio['Lineup Edge'] = (portfolio['Win%'] * ((.5 - portfolio['Finish_percentile']) * (Contest_Size / 2.5)))
423
+ # portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
424
+ portfolio['Lineup Edge'] = ((portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean()))
425
  portfolio['Weighted Own'] = portfolio[own_columns].apply(calculate_weighted_ownership_wrapper, axis=1)
426
  portfolio['Geomean'] = np.power((portfolio[own_columns] * 100).product(axis=1), 1 / len(own_columns))
427