James McCool commited on
Commit
8c77c6e
·
1 Parent(s): 6ebe3a4

Correct Lineup Edge calculation in predict_dupes.py by changing the adjustment from addition to subtraction based on duplicate ownership. This modification refines the edge computation, improving the accuracy of portfolio predictions.

Browse files
Files changed (1) hide show
  1. global_func/predict_dupes.py +1 -1
global_func/predict_dupes.py CHANGED
@@ -421,7 +421,7 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
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
 
 
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