spforge 0.8.26__tar.gz → 0.8.27__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of spforge might be problematic. Click here for more details.
- {spforge-0.8.26/spforge.egg-info → spforge-0.8.27}/PKG-INFO +1 -1
- {spforge-0.8.26 → spforge-0.8.27}/pyproject.toml +1 -1
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/_player_rating.py +57 -24
- {spforge-0.8.26 → spforge-0.8.27/spforge.egg-info}/PKG-INFO +1 -1
- {spforge-0.8.26 → spforge-0.8.27}/tests/ratings/test_player_rating_generator.py +34 -1
- {spforge-0.8.26 → spforge-0.8.27}/LICENSE +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/MANIFEST.in +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/README.md +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/game_level_example.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/lol/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/lol/data/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/lol/data/subsample_lol_data.parquet +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/lol/data/utils.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/lol/pipeline_transformer_example.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/cross_validation_example.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/data/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/data/game_player_subsample.parquet +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/data/utils.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/feature_engineering_example.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/game_winner_example.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/examples/nba/predictor_transformers_example.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/setup.cfg +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/autopipeline.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/base_feature_generator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/cross_validator/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/cross_validator/_base.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/cross_validator/cross_validator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/data_structures.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/distributions/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/distributions/_negative_binomial_estimator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/distributions/_normal_distribution_predictor.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/distributions/_student_t_distribution_estimator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/estimator/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/estimator/_conditional_estimator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/estimator/_frequency_bucketing_classifier.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/estimator/_granularity_estimator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/estimator/_group_by_estimator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/estimator/_ordinal_classifier.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/estimator/_sklearn_enhancer_estimator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_base.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_lag.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_net_over_predicted.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_regressor_feature_generator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_rolling_against_opponent.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_rolling_mean_binary.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_rolling_mean_days.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_rolling_window.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/feature_generator/_utils.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/features_generator_pipeline.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/hyperparameter_tuning/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/hyperparameter_tuning/_default_search_spaces.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/hyperparameter_tuning/_tuner.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/performance_transformers/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/performance_transformers/_performance_manager.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/performance_transformers/_performances_transformers.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/_base.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/_team_rating.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/enums.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/league_identifier.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/league_start_rating_optimizer.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/player_performance_predictor.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/start_rating_generator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/team_performance_predictor.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/team_start_rating_generator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/ratings/utils.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/scorer/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/scorer/_score.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/__init__.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/_base.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/_net_over_predicted.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/_operator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/_other_transformer.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/_predictor.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/_simple_transformer.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/transformers/_team_ratio_predictor.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge/utils.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge.egg-info/SOURCES.txt +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge.egg-info/dependency_links.txt +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge.egg-info/requires.txt +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/spforge.egg-info/top_level.txt +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/cross_validator/test_cross_validator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/distributions/test_distribution.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/end_to_end/test_estimator_hyperparameter_tuning.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/end_to_end/test_league_start_rating_optimizer.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/end_to_end/test_lol_player_kills.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/end_to_end/test_nba_player_points.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/end_to_end/test_nba_player_ratings_hyperparameter_tuning.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/end_to_end/test_nba_prediction_consistency.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/estimator/test_sklearn_estimator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/feature_generator/test_lag.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/feature_generator/test_regressor_feature_generator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/feature_generator/test_rolling_against_opponent.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/feature_generator/test_rolling_mean_binary.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/feature_generator/test_rolling_mean_days.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/feature_generator/test_rolling_window.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/hyperparameter_tuning/test_estimator_tuner.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/hyperparameter_tuning/test_rating_tuner.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/performance_transformers/test_performance_manager.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/performance_transformers/test_performances_transformers.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/ratings/test_player_rating_no_mutation.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/ratings/test_ratings_property.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/ratings/test_team_rating_generator.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/ratings/test_utils_scaled_weights.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/scorer/test_score.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/scorer/test_score_aggregation_granularity.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/test_autopipeline.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/test_autopipeline_context.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/test_feature_generator_pipeline.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/transformers/test_estimator_transformer_context.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/transformers/test_net_over_predicted.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/transformers/test_other_transformer.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/transformers/test_predictor_transformer.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/transformers/test_simple_transformer.py +0 -0
- {spforge-0.8.26 → spforge-0.8.27}/tests/transformers/test_team_ratio_predictor.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: spforge
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.27
|
|
4
4
|
Summary: A flexible framework for generating features, ratings, and building machine learning or other models for training and inference on sports data.
|
|
5
5
|
Author-email: Mathias Holmstrøm <mathiasholmstom@gmail.com>
|
|
6
6
|
License: See LICENSE file
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "spforge"
|
|
7
|
-
version = "0.8.
|
|
7
|
+
version = "0.8.27"
|
|
8
8
|
description = "A flexible framework for generating features, ratings, and building machine learning or other models for training and inference on sports data."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
4
|
import copy
|
|
5
|
-
import
|
|
5
|
+
import json
|
|
6
6
|
import logging
|
|
7
|
+
import math
|
|
8
|
+
from collections.abc import Mapping
|
|
7
9
|
from typing import Any, Literal
|
|
8
10
|
|
|
9
11
|
import narwhals.stable.v2 as nw
|
|
@@ -912,10 +914,16 @@ class PlayerRatingGenerator(RatingGenerator):
|
|
|
912
914
|
if cn.league and cn.league in df.columns:
|
|
913
915
|
player_stat_cols.append(cn.league)
|
|
914
916
|
|
|
915
|
-
if
|
|
917
|
+
if (
|
|
918
|
+
cn.team_players_playing_time
|
|
919
|
+
and cn.team_players_playing_time in df.columns
|
|
920
|
+
):
|
|
916
921
|
player_stat_cols.append(cn.team_players_playing_time)
|
|
917
922
|
|
|
918
|
-
if
|
|
923
|
+
if (
|
|
924
|
+
cn.opponent_players_playing_time
|
|
925
|
+
and cn.opponent_players_playing_time in df.columns
|
|
926
|
+
):
|
|
919
927
|
player_stat_cols.append(cn.opponent_players_playing_time)
|
|
920
928
|
|
|
921
929
|
df = df.with_columns(pl.struct(player_stat_cols).alias(PLAYER_STATS))
|
|
@@ -948,6 +956,40 @@ class PlayerRatingGenerator(RatingGenerator):
|
|
|
948
956
|
match_df = self._add_day_number(match_df, cn.start_date, "__day_number")
|
|
949
957
|
return match_df
|
|
950
958
|
|
|
959
|
+
def _get_players_playing_time(
|
|
960
|
+
self, source: Mapping[str, Any], column_name: str | None
|
|
961
|
+
) -> dict[str, float] | None:
|
|
962
|
+
if not column_name:
|
|
963
|
+
return None
|
|
964
|
+
return self._normalize_players_playing_time(source.get(column_name))
|
|
965
|
+
|
|
966
|
+
@staticmethod
|
|
967
|
+
def _normalize_players_playing_time(raw_value: Any) -> dict[str, float] | None:
|
|
968
|
+
if raw_value is None:
|
|
969
|
+
return None
|
|
970
|
+
|
|
971
|
+
if isinstance(raw_value, str):
|
|
972
|
+
raw_text = raw_value
|
|
973
|
+
raw_value = raw_value.strip()
|
|
974
|
+
if not raw_value:
|
|
975
|
+
return None
|
|
976
|
+
try:
|
|
977
|
+
raw_value = json.loads(raw_value)
|
|
978
|
+
except json.JSONDecodeError as exc:
|
|
979
|
+
raise ValueError(
|
|
980
|
+
f"unable to parse playing time JSON {raw_text!r}: {exc}"
|
|
981
|
+
) from exc
|
|
982
|
+
|
|
983
|
+
if isinstance(raw_value, Mapping):
|
|
984
|
+
normalized: dict[str, float] = {}
|
|
985
|
+
for key, value in raw_value.items():
|
|
986
|
+
if value is None:
|
|
987
|
+
continue
|
|
988
|
+
normalized[str(key)] = float(value)
|
|
989
|
+
return normalized or None
|
|
990
|
+
|
|
991
|
+
return None
|
|
992
|
+
|
|
951
993
|
def _create_pre_match_players_collection(
|
|
952
994
|
self, r: dict, stats_col: str, day_number: int, team_id: str
|
|
953
995
|
) -> PreMatchPlayersCollection:
|
|
@@ -994,17 +1036,12 @@ class PlayerRatingGenerator(RatingGenerator):
|
|
|
994
1036
|
else None
|
|
995
1037
|
)
|
|
996
1038
|
|
|
997
|
-
team_playing_time =
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
if cn.opponent_players_playing_time:
|
|
1005
|
-
raw_value = team_player.get(cn.opponent_players_playing_time)
|
|
1006
|
-
if raw_value is not None:
|
|
1007
|
-
opponent_playing_time = raw_value
|
|
1039
|
+
team_playing_time = self._get_players_playing_time(
|
|
1040
|
+
team_player, cn.team_players_playing_time
|
|
1041
|
+
)
|
|
1042
|
+
opponent_playing_time = self._get_players_playing_time(
|
|
1043
|
+
team_player, cn.opponent_players_playing_time
|
|
1044
|
+
)
|
|
1008
1045
|
|
|
1009
1046
|
mp = MatchPerformance(
|
|
1010
1047
|
performance_value=perf_val,
|
|
@@ -1245,16 +1282,12 @@ class PlayerRatingGenerator(RatingGenerator):
|
|
|
1245
1282
|
ppw = pw
|
|
1246
1283
|
proj_w.append(float(ppw))
|
|
1247
1284
|
|
|
1248
|
-
team_playing_time =
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
if cn.opponent_players_playing_time:
|
|
1255
|
-
raw_value = tp.get(cn.opponent_players_playing_time)
|
|
1256
|
-
if raw_value is not None:
|
|
1257
|
-
opponent_playing_time = raw_value
|
|
1285
|
+
team_playing_time = self._get_players_playing_time(
|
|
1286
|
+
tp, cn.team_players_playing_time
|
|
1287
|
+
)
|
|
1288
|
+
opponent_playing_time = self._get_players_playing_time(
|
|
1289
|
+
tp, cn.opponent_players_playing_time
|
|
1290
|
+
)
|
|
1258
1291
|
|
|
1259
1292
|
mp = MatchPerformance(
|
|
1260
1293
|
performance_value=get_perf_value(tp),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: spforge
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.27
|
|
4
4
|
Summary: A flexible framework for generating features, ratings, and building machine learning or other models for training and inference on sports data.
|
|
5
5
|
Author-email: Mathias Holmstrøm <mathiasholmstom@gmail.com>
|
|
6
6
|
License: See LICENSE file
|
|
@@ -4,7 +4,7 @@ import polars as pl
|
|
|
4
4
|
import pytest
|
|
5
5
|
|
|
6
6
|
from spforge import ColumnNames
|
|
7
|
-
from spforge.data_structures import RatingState
|
|
7
|
+
from spforge.data_structures import PlayerRating, RatingState
|
|
8
8
|
from spforge.ratings import PlayerRatingGenerator, RatingKnownFeatures, RatingUnknownFeatures
|
|
9
9
|
|
|
10
10
|
|
|
@@ -78,6 +78,39 @@ def test_fit_transform_updates_internal_state(base_cn, sample_df):
|
|
|
78
78
|
assert "P1" in gen._player_off_ratings
|
|
79
79
|
assert "P1" in gen._player_def_ratings
|
|
80
80
|
|
|
81
|
+
|
|
82
|
+
def test_pre_match_collection_parses_playing_time_json(base_cn):
|
|
83
|
+
"""JSON strings in the team/opponent playing time columns should become dicts."""
|
|
84
|
+
from dataclasses import replace
|
|
85
|
+
|
|
86
|
+
cn = replace(
|
|
87
|
+
base_cn,
|
|
88
|
+
team_players_playing_time="team_pt",
|
|
89
|
+
opponent_players_playing_time="opp_pt",
|
|
90
|
+
)
|
|
91
|
+
gen = PlayerRatingGenerator(performance_column="perf", column_names=cn)
|
|
92
|
+
gen._player_off_ratings["P1"] = PlayerRating(id="P1", rating_value=100.0)
|
|
93
|
+
gen._player_def_ratings["P1"] = PlayerRating(id="P1", rating_value=100.0)
|
|
94
|
+
|
|
95
|
+
stats_entry = {
|
|
96
|
+
cn.player_id: "P1",
|
|
97
|
+
"perf": 0.75,
|
|
98
|
+
cn.participation_weight: 1.0,
|
|
99
|
+
cn.team_players_playing_time: '{"P1": 30}',
|
|
100
|
+
cn.opponent_players_playing_time: '{"P3": 25}',
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
collection = gen._create_pre_match_players_collection(
|
|
104
|
+
r={"__PLAYER_STATS": [stats_entry]},
|
|
105
|
+
stats_col="__PLAYER_STATS",
|
|
106
|
+
day_number=1,
|
|
107
|
+
team_id="T1",
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
match_perf = collection.pre_match_player_ratings[0].match_performance
|
|
111
|
+
assert match_perf.team_players_playing_time == {"P1": 30.0}
|
|
112
|
+
assert match_perf.opponent_players_playing_time == {"P3": 25.0}
|
|
113
|
+
|
|
81
114
|
assert gen._player_off_ratings["P1"].rating_value > 0
|
|
82
115
|
|
|
83
116
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spforge-0.8.26 → spforge-0.8.27}/spforge/distributions/_student_t_distribution_estimator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spforge-0.8.26 → spforge-0.8.27}/spforge/performance_transformers/_performances_transformers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spforge-0.8.26 → spforge-0.8.27}/tests/end_to_end/test_nba_player_ratings_hyperparameter_tuning.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spforge-0.8.26 → spforge-0.8.27}/tests/feature_generator/test_regressor_feature_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spforge-0.8.26 → spforge-0.8.27}/tests/performance_transformers/test_performance_manager.py
RENAMED
|
File without changes
|
{spforge-0.8.26 → spforge-0.8.27}/tests/performance_transformers/test_performances_transformers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|