James McCool commited on
Commit
3770981
·
1 Parent(s): 81544d9

Update Lineup Edge calculation in predict_dupes.py to separate raw edge computation. Adjusted the formula to remove the scaling based on duplicates, enhancing clarity and maintaining prediction accuracy.

Browse files
Files changed (1) hide show
  1. global_func/predict_dupes.py +2 -2
global_func/predict_dupes.py CHANGED
@@ -419,9 +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'] = 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()) - ((portfolio['Dupes'] - portfolio['Dupes'].mean()) / 100)
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
 
 
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))
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