ncaa_eval.transform.opponent module¶
Batch opponent adjustment rating solvers: SRS, Ridge regression, Colley Matrix.
- class ncaa_eval.transform.opponent.BatchRatingSolver(*, margin_cap: int = 25, ridge_lambda: float = 20.0, srs_max_iter: int = 10000)[source]¶
Bases:
objectBatch rating solver that produces full-season opponent-adjusted ratings.
All solvers accept a pre-loaded DataFrame of compact regular-season games (caller must filter to
is_tournament == Falsebefore passing).- Parameters:
margin_cap – Maximum point margin applied per game (default 25).
ridge_lambda – Regularization strength for Ridge solver (default 20.0).
srs_max_iter – Maximum iterations for SRS fixed-point convergence (default 10,000).
- compute_colley(games_df: DataFrame) DataFrame[source]¶
Compute Colley Matrix ratings (win/loss only, no margin).
- Parameters:
games_df – DataFrame with columns
w_team_id,l_team_id(regular-season games only; scores not used).- Returns:
DataFrame with columns
["team_id", "colley_rating"](bounded [0, 1]).
- compute_ridge(games_df: DataFrame) DataFrame[source]¶
Compute Ridge regression ratings (regularized SRS).
- Parameters:
games_df – DataFrame with columns
w_team_id,l_team_id,w_score,l_score(regular-season games only).- Returns:
DataFrame with columns
["team_id", "ridge_rating"].
- compute_srs(games_df: DataFrame) DataFrame[source]¶
Compute SRS (Simple Rating System) ratings via fixed-point iteration.
- Parameters:
games_df – DataFrame with columns
w_team_id,l_team_id,w_score,l_score(regular-season games only).- Returns:
DataFrame with columns
["team_id", "srs_rating"](zero-centered).
- ncaa_eval.transform.opponent.compute_colley_ratings(games_df: DataFrame) DataFrame[source]¶
Compute Colley Matrix win/loss-only ratings.
- Parameters:
games_df – DataFrame with columns
w_team_id,l_team_id(regular-season games only; scores not used).- Returns:
DataFrame with columns
["team_id", "colley_rating"].
- ncaa_eval.transform.opponent.compute_ridge_ratings(games_df: DataFrame, *, lam: float = 20.0, margin_cap: int = 25) DataFrame[source]¶
Compute Ridge regression ratings.
- Parameters:
games_df – DataFrame with columns
w_team_id,l_team_id,w_score,l_score(regular-season games only).lam – Ridge regularization parameter λ (default 20.0).
margin_cap – Maximum point margin cap per game (default 25).
- Returns:
DataFrame with columns
["team_id", "ridge_rating"].
- ncaa_eval.transform.opponent.compute_srs_ratings(games_df: DataFrame, *, margin_cap: int = 25, max_iter: int = 10000) DataFrame[source]¶
Compute SRS ratings using default solver config.
- Parameters:
games_df – DataFrame with columns
w_team_id,l_team_id,w_score,l_score(regular-season games only).margin_cap – Maximum point margin cap per game (default 25).
max_iter – Maximum SRS iterations (default 10,000).
- Returns:
DataFrame with columns
["team_id", "srs_rating"].