autogluon.tabular 1.3.2b20250714__py3-none-any.whl → 1.3.2b20250715__py3-none-any.whl

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.
@@ -13,13 +13,13 @@ from autogluon.common.features.types import R_BOOL, R_CATEGORY, R_FLOAT, R_INT
13
13
  from autogluon.common.utils.pandas_utils import get_approximate_df_mem_usage
14
14
  from autogluon.common.utils.resource_utils import ResourceManager
15
15
  from autogluon.common.utils.try_import import try_import_catboost
16
- from autogluon.core.constants import MULTICLASS, PROBLEM_TYPES_CLASSIFICATION, QUANTILE, SOFTCLASS
16
+ from autogluon.core.constants import MULTICLASS, PROBLEM_TYPES_CLASSIFICATION, REGRESSION, QUANTILE, SOFTCLASS
17
17
  from autogluon.core.models import AbstractModel
18
18
  from autogluon.core.models._utils import get_early_stopping_rounds
19
19
  from autogluon.core.utils.exceptions import TimeLimitExceeded
20
20
 
21
21
  from .callbacks import EarlyStoppingCallback, MemoryCheckCallback, TimeCheckCallback
22
- from .catboost_utils import get_catboost_metric_from_ag_metric
22
+ from .catboost_utils import get_catboost_metric_from_ag_metric, CATBOOST_EVAL_METRIC_TO_LOSS_FUNCTION
23
23
  from .hyperparameters.parameters import get_param_baseline
24
24
  from .hyperparameters.searchspaces import get_default_searchspace
25
25
 
@@ -131,11 +131,14 @@ class CatBoostModel(AbstractModel):
131
131
  # FIXME: This is extremely slow due to unoptimized metric / objective sent to CatBoost
132
132
  from .catboost_softclass_utils import SoftclassCustomMetric, SoftclassObjective
133
133
 
134
- params["loss_function"] = SoftclassObjective.SoftLogLossObjective()
134
+ params.setdefault("loss_function", SoftclassObjective.SoftLogLossObjective())
135
135
  params["eval_metric"] = SoftclassCustomMetric.SoftLogLossMetric()
136
- elif self.problem_type == QUANTILE:
137
- # FIXME: Unless specified, CatBoost defaults to loss_function='MultiQuantile' and raises an exception
138
- params["loss_function"] = params["eval_metric"]
136
+ elif self.problem_type in [REGRESSION, QUANTILE]:
137
+ # Choose appropriate loss_function that is as close as possible to the eval_metric
138
+ params.setdefault(
139
+ "loss_function",
140
+ CATBOOST_EVAL_METRIC_TO_LOSS_FUNCTION.get(params["eval_metric"], params["eval_metric"])
141
+ )
139
142
 
140
143
  model_type = CatBoostClassifier if self.problem_type in PROBLEM_TYPES_CLASSIFICATION else CatBoostRegressor
141
144
  num_rows_train = len(X)
@@ -6,6 +6,13 @@ logger = logging.getLogger(__name__)
6
6
 
7
7
 
8
8
  CATBOOST_QUANTILE_PREFIX = "Quantile:"
9
+ # Mapping from non-optimizable eval_metric to optimizable loss_function.
10
+ # See https://catboost.ai/docs/en/concepts/loss-functions-regression#usage-information
11
+ CATBOOST_EVAL_METRIC_TO_LOSS_FUNCTION = {
12
+ "MedianAbsoluteError": "MAE",
13
+ "SMAPE": "MAPE",
14
+ "R2": "RMSE",
15
+ }
9
16
 
10
17
 
11
18
  # TODO: Add weight support?
@@ -65,7 +72,10 @@ def get_catboost_metric_from_ag_metric(metric, problem_type, quantile_levels=Non
65
72
  mean_squared_error="RMSE",
66
73
  root_mean_squared_error="RMSE",
67
74
  mean_absolute_error="MAE",
75
+ mean_absolute_percentage_error="MAPE",
76
+ # Non-optimizable metrics, see CATBOOST_EVAL_METRIC_TO_LOSS_FUNCTION
68
77
  median_absolute_error="MedianAbsoluteError",
78
+ symmetric_mean_absolute_percentage_error="SMAPE",
69
79
  r2="R2",
70
80
  )
71
81
  metric_class = metric_map.get(metric.name, "RMSE")
@@ -281,7 +281,8 @@ class LGBModel(AbstractModel):
281
281
  train_params["params"]["metric"] = f'{stopping_metric},{train_params["params"]["metric"]}'
282
282
 
283
283
  if self.problem_type == SOFTCLASS:
284
- train_params["fobj"] = lgb_utils.softclass_lgbobj
284
+ train_params["params"]["objective"] = lgb_utils.softclass_lgbobj
285
+ train_params["params"]["num_classes"] = self.num_classes
285
286
  elif self.problem_type == QUANTILE:
286
287
  train_params["params"]["quantile_levels"] = self.quantile_levels
287
288
  if seed_val is not None:
@@ -441,9 +441,9 @@ class FitHelper:
441
441
  num_bag_sets=1,
442
442
  )
443
443
  if isinstance(bag, bool):
444
- problem_types_bag = supported_problem_types
444
+ problem_types_bag = problem_types_to_check
445
445
  elif bag == "first":
446
- problem_types_bag = supported_problem_types[:1]
446
+ problem_types_bag = problem_types_to_check[:1]
447
447
  else:
448
448
  raise ValueError(f"Unknown 'bag' value: {bag}")
449
449
 
@@ -1,4 +1,4 @@
1
1
  """This is the autogluon version file."""
2
2
 
3
- __version__ = "1.3.2b20250714"
3
+ __version__ = "1.3.2b20250715"
4
4
  __lite__ = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.tabular
3
- Version: 1.3.2b20250714
3
+ Version: 1.3.2b20250715
4
4
  Summary: Fast and Accurate ML in 3 Lines of Code
5
5
  Home-page: https://github.com/autogluon/autogluon
6
6
  Author: AutoGluon Community
@@ -41,20 +41,20 @@ Requires-Dist: scipy<1.17,>=1.5.4
41
41
  Requires-Dist: pandas<2.4.0,>=2.0.0
42
42
  Requires-Dist: scikit-learn<1.8.0,>=1.4.0
43
43
  Requires-Dist: networkx<4,>=3.0
44
- Requires-Dist: autogluon.core==1.3.2b20250714
45
- Requires-Dist: autogluon.features==1.3.2b20250714
44
+ Requires-Dist: autogluon.core==1.3.2b20250715
45
+ Requires-Dist: autogluon.features==1.3.2b20250715
46
46
  Provides-Extra: all
47
47
  Requires-Dist: spacy<3.9; extra == "all"
48
- Requires-Dist: huggingface-hub[torch]; extra == "all"
49
- Requires-Dist: fastai<2.9,>=2.3.1; extra == "all"
50
- Requires-Dist: numpy<2.3.0,>=1.25; extra == "all"
51
- Requires-Dist: pytabkit<1.6,>=1.5; extra == "all"
52
- Requires-Dist: einops<0.9,>=0.7; extra == "all"
53
- Requires-Dist: autogluon.core[all]==1.3.2b20250714; extra == "all"
48
+ Requires-Dist: torch<2.8,>=2.2; extra == "all"
54
49
  Requires-Dist: xgboost<3.1,>=2.0; extra == "all"
50
+ Requires-Dist: numpy<2.3.0,>=1.25; extra == "all"
55
51
  Requires-Dist: lightgbm<4.7,>=4.0; extra == "all"
56
- Requires-Dist: torch<2.8,>=2.2; extra == "all"
52
+ Requires-Dist: huggingface-hub[torch]; extra == "all"
53
+ Requires-Dist: autogluon.core[all]==1.3.2b20250715; extra == "all"
57
54
  Requires-Dist: catboost<1.3,>=1.2; extra == "all"
55
+ Requires-Dist: fastai<2.9,>=2.3.1; extra == "all"
56
+ Requires-Dist: einops<0.9,>=0.7; extra == "all"
57
+ Requires-Dist: pytabkit<1.6,>=1.5; extra == "all"
58
58
  Provides-Extra: catboost
59
59
  Requires-Dist: numpy<2.3.0,>=1.25; extra == "catboost"
60
60
  Requires-Dist: catboost<1.3,>=1.2; extra == "catboost"
@@ -72,7 +72,7 @@ Requires-Dist: einx; extra == "mitra"
72
72
  Requires-Dist: omegaconf; extra == "mitra"
73
73
  Requires-Dist: transformers; extra == "mitra"
74
74
  Provides-Extra: ray
75
- Requires-Dist: autogluon.core[all]==1.3.2b20250714; extra == "ray"
75
+ Requires-Dist: autogluon.core[all]==1.3.2b20250715; extra == "ray"
76
76
  Provides-Extra: realmlp
77
77
  Requires-Dist: pytabkit<1.6,>=1.5; extra == "realmlp"
78
78
  Provides-Extra: skex
@@ -1,6 +1,6 @@
1
- autogluon.tabular-1.3.2b20250714-py3.9-nspkg.pth,sha256=cQGwpuGPqg1GXscIwt-7PmME1OnSpD-7ixkikJ31WAY,554
1
+ autogluon.tabular-1.3.2b20250715-py3.9-nspkg.pth,sha256=cQGwpuGPqg1GXscIwt-7PmME1OnSpD-7ixkikJ31WAY,554
2
2
  autogluon/tabular/__init__.py,sha256=2OXpJCvENRHubBTYNIPpHX93WWuFZzsJBtTZbNVHVas,400
3
- autogluon/tabular/version.py,sha256=QyavBAXV1tyROK-lM699M991S0GUCC93ub_uqpbzb74,91
3
+ autogluon/tabular/version.py,sha256=__YNhWg03UP-7oVi2ZS_VYHrVX7DWpIkJf61hjFPiDw,91
4
4
  autogluon/tabular/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  autogluon/tabular/configs/config_helper.py,sha256=JsdVGmpcYL88GPKBznPtqJ1sGaByOSvLn7KWU-HyVoQ,21085
6
6
  autogluon/tabular/configs/feature_generator_presets.py,sha256=EV5Ym8VW15q92MwOUpTi7wZFS2QooM51fLg3RdUsn-M,1223
@@ -25,9 +25,9 @@ autogluon/tabular/models/automm/automm_model.py,sha256=GvrMBC8Z-zobalmSzX1iDHTYM
25
25
  autogluon/tabular/models/automm/ft_transformer.py,sha256=yZ9-TTA4GbtutHhz0Djkrl-rIFNxc7A2LBOFOXYOxVY,3886
26
26
  autogluon/tabular/models/catboost/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  autogluon/tabular/models/catboost/callbacks.py,sha256=QvyiynQoxjvfYaYwGNSF5N3gc_wqI9mi1nQiawL0EJ4,7194
28
- autogluon/tabular/models/catboost/catboost_model.py,sha256=BxdFGX51S9SH_C5k12AYP3McdGJvfib4F5pw2U3xaj8,17864
28
+ autogluon/tabular/models/catboost/catboost_model.py,sha256=08cLCrhSogJSsXlas0_1ZnomatxEGdOjN1WS_NyXOJI,18043
29
29
  autogluon/tabular/models/catboost/catboost_softclass_utils.py,sha256=UiW0SUb3hFueW5qYtQn6Sbk7Wg7BWN4jqKWeFtbMvgU,3919
30
- autogluon/tabular/models/catboost/catboost_utils.py,sha256=UFEvLbG52USXmwGuKty-7BLqjLKZftvKN3yKJ0FCpK4,3428
30
+ autogluon/tabular/models/catboost/catboost_utils.py,sha256=zJMIsbgyW_JH0eULhUeu_TWR0Qfmf34CnED7c7NvXBw,3899
31
31
  autogluon/tabular/models/catboost/hyperparameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  autogluon/tabular/models/catboost/hyperparameters/parameters.py,sha256=Hxi4mPTc2ML9GdpW0TalkDgtsYJLwpEcd-LiyLOsmlA,956
33
33
  autogluon/tabular/models/catboost/hyperparameters/searchspaces.py,sha256=Oe86ixuvd1xJCdSHs2Oh5Ifx0501YJBsdyL2l9Z4nxM,1458
@@ -55,7 +55,7 @@ autogluon/tabular/models/knn/knn_rapids_model.py,sha256=0FFApNZFH8nyrDqlBSUV7jO-
55
55
  autogluon/tabular/models/knn/knn_utils.py,sha256=XU1cxVXp1BAoQnja2_KmSIn9_q9gZkjAya7-9b0uStk,7455
56
56
  autogluon/tabular/models/lgb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  autogluon/tabular/models/lgb/callbacks.py,sha256=KJB1KmebA88qHT206KSfvm5NamGuv5lRzy7O9dOwW-M,12243
58
- autogluon/tabular/models/lgb/lgb_model.py,sha256=BZ9aCfjny9_RnwVizW1wD3WxJBZ-4z4L1qQ2d4-I2x0,25771
58
+ autogluon/tabular/models/lgb/lgb_model.py,sha256=S1OGVHivJWMTwBnVXlUdFqyOPKK_W8yfFsFynbiDXHU,25855
59
59
  autogluon/tabular/models/lgb/lgb_utils.py,sha256=jzTDTzP-z7gcBGZyy1_0YkyTOLbU5DLeRqtil4FCZPI,7382
60
60
  autogluon/tabular/models/lgb/hyperparameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  autogluon/tabular/models/lgb/hyperparameters/parameters.py,sha256=LLEQ-Ns3HElWBsFJx3ogRV7L6qw_nXlcl7EyO0C0fVQ,1336
@@ -171,7 +171,7 @@ autogluon/tabular/registry/__init__.py,sha256=vZpzX4Xve7bfA9crt5LxjgQv9PPfxbi1E1
171
171
  autogluon/tabular/registry/_ag_model_registry.py,sha256=Aa-o_KZZiroPBpvZozIBXOlWYvQJN-MVsl_Gl66gkE8,1550
172
172
  autogluon/tabular/registry/_model_registry.py,sha256=Rl8Q7BLzaif4hxNxJF20xGE02vrWwh2ZuUaTmA-UJnE,6824
173
173
  autogluon/tabular/testing/__init__.py,sha256=XrEGLmMdmRT6QHNR13M9wna57LO4O3Q4tt27Ca8omAc,79
174
- autogluon/tabular/testing/fit_helper.py,sha256=dzyzIBD9s7Ekb_inoAE6sep3bW9QKeYqO4WcDzAhAwg,19818
174
+ autogluon/tabular/testing/fit_helper.py,sha256=0eTvPtqM8k8hlOUIHQiwTzik4juTjHQt12BySk0klt4,19816
175
175
  autogluon/tabular/testing/generate_datasets.py,sha256=nvcAmI-tOh5fwx_ZTx2aRa1n7CsXb96wbR-xqNy1C5w,3884
176
176
  autogluon/tabular/testing/model_fit_helper.py,sha256=ZjWpw2nyeFnsrccmkfQtx3qbA8HJx282XX2rwdS-LIs,3808
177
177
  autogluon/tabular/trainer/__init__.py,sha256=PW_PGL-tWoQzx3ES2S53bQEZOtsRWTYiM9QdOqsk0dI,38
@@ -182,11 +182,11 @@ autogluon/tabular/trainer/model_presets/presets.py,sha256=hoWADaOG576Q_XLV1nY_ju
182
182
  autogluon/tabular/trainer/model_presets/presets_distill.py,sha256=MnFC2GJc6RmDBNAGbsO2XMfo3PjR8cUrZoilWW8gTYQ,3295
183
183
  autogluon/tabular/tuning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
184
  autogluon/tabular/tuning/feature_pruner.py,sha256=9iNku8gVbYEkjuKlyITPJDicsNkoraaQOlINQq9iZlQ,6877
185
- autogluon.tabular-1.3.2b20250714.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
186
- autogluon.tabular-1.3.2b20250714.dist-info/METADATA,sha256=rCZIr_y8uPky-66HAIpkINaAHJrFrbwVfdfchVW6_dQ,14646
187
- autogluon.tabular-1.3.2b20250714.dist-info/NOTICE,sha256=7nPQuj8Kp-uXsU0S5so3-2dNU5EctS5hDXvvzzehd7E,114
188
- autogluon.tabular-1.3.2b20250714.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
189
- autogluon.tabular-1.3.2b20250714.dist-info/namespace_packages.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
190
- autogluon.tabular-1.3.2b20250714.dist-info/top_level.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
191
- autogluon.tabular-1.3.2b20250714.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
192
- autogluon.tabular-1.3.2b20250714.dist-info/RECORD,,
185
+ autogluon.tabular-1.3.2b20250715.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
186
+ autogluon.tabular-1.3.2b20250715.dist-info/METADATA,sha256=9onrK6_jd80PRQnYWcr0yTXAdGMFXnBAZhsZ8ayXgOc,14646
187
+ autogluon.tabular-1.3.2b20250715.dist-info/NOTICE,sha256=7nPQuj8Kp-uXsU0S5so3-2dNU5EctS5hDXvvzzehd7E,114
188
+ autogluon.tabular-1.3.2b20250715.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
189
+ autogluon.tabular-1.3.2b20250715.dist-info/namespace_packages.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
190
+ autogluon.tabular-1.3.2b20250715.dist-info/top_level.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
191
+ autogluon.tabular-1.3.2b20250715.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
192
+ autogluon.tabular-1.3.2b20250715.dist-info/RECORD,,