James McCool
commited on
Commit
·
98d0f79
1
Parent(s):
69d9f12
Refine Lineup Edge calculation in predict_dupes.py to improve accuracy. Adjusted the formula to incorporate a divisor of (Dupes + 1) and modified the scaling factor, enhancing the prediction model's performance.
Browse files
global_func/predict_dupes.py
CHANGED
|
@@ -420,7 +420,7 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
|
|
| 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 + (row['Lineup Edge'] - row['Dupes'])) /
|
| 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))
|
|
|
|
| 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) + (row['Lineup Edge'] - row['Dupes'])) / 200 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))
|