upgini 1.1.268a4__tar.gz → 1.1.269__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 upgini might be problematic. Click here for more details.

Files changed (85) hide show
  1. {upgini-1.1.268a4/src/upgini.egg-info → upgini-1.1.269}/PKG-INFO +1 -1
  2. {upgini-1.1.268a4 → upgini-1.1.269}/setup.py +1 -1
  3. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/features_enricher.py +4 -5
  4. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/metrics.py +33 -7
  5. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/sklearn_ext.py +1 -2
  6. {upgini-1.1.268a4 → upgini-1.1.269/src/upgini.egg-info}/PKG-INFO +1 -1
  7. {upgini-1.1.268a4 → upgini-1.1.269}/LICENSE +0 -0
  8. {upgini-1.1.268a4 → upgini-1.1.269}/README.md +0 -0
  9. {upgini-1.1.268a4 → upgini-1.1.269}/pyproject.toml +0 -0
  10. {upgini-1.1.268a4 → upgini-1.1.269}/setup.cfg +0 -0
  11. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/__init__.py +0 -0
  12. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/ads.py +0 -0
  13. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/ads_management/__init__.py +0 -0
  14. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/ads_management/ads_manager.py +0 -0
  15. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/__init__.py +0 -0
  16. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/all_operands.py +0 -0
  17. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/binary.py +0 -0
  18. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/date.py +0 -0
  19. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/feature.py +0 -0
  20. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/groupby.py +0 -0
  21. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/operand.py +0 -0
  22. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/unary.py +0 -0
  23. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/autofe/vector.py +0 -0
  24. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/data_source/__init__.py +0 -0
  25. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/data_source/data_source_publisher.py +0 -0
  26. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/dataset.py +0 -0
  27. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/errors.py +0 -0
  28. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/fingerprint.js +0 -0
  29. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/http.py +0 -0
  30. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/mdc/__init__.py +0 -0
  31. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/mdc/context.py +0 -0
  32. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/metadata.py +0 -0
  33. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/normalizer/__init__.py +0 -0
  34. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/normalizer/phone_normalizer.py +0 -0
  35. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/resource_bundle/__init__.py +0 -0
  36. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/resource_bundle/exceptions.py +0 -0
  37. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/resource_bundle/strings.properties +0 -0
  38. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  39. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/sampler/__init__.py +0 -0
  40. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/sampler/base.py +0 -0
  41. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/sampler/random_under_sampler.py +0 -0
  42. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/sampler/utils.py +0 -0
  43. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/search_task.py +0 -0
  44. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/spinner.py +0 -0
  45. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/__init__.py +0 -0
  46. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/base_search_key_detector.py +0 -0
  47. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/blocked_time_series.py +0 -0
  48. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/country_utils.py +0 -0
  49. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/custom_loss_utils.py +0 -0
  50. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/cv_utils.py +0 -0
  51. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/datetime_utils.py +0 -0
  52. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/deduplicate_utils.py +0 -0
  53. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/display_utils.py +0 -0
  54. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/email_utils.py +0 -0
  55. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/fallback_progress_bar.py +0 -0
  56. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/features_validator.py +0 -0
  57. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/format.py +0 -0
  58. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/ip_utils.py +0 -0
  59. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/phone_utils.py +0 -0
  60. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/postal_code_utils.py +0 -0
  61. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/progress_bar.py +0 -0
  62. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/target_utils.py +0 -0
  63. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/track_info.py +0 -0
  64. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/utils/warning_counter.py +0 -0
  65. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini/version_validator.py +0 -0
  66. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini.egg-info/SOURCES.txt +0 -0
  67. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini.egg-info/dependency_links.txt +0 -0
  68. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini.egg-info/requires.txt +0 -0
  69. {upgini-1.1.268a4 → upgini-1.1.269}/src/upgini.egg-info/top_level.txt +0 -0
  70. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_autofe_operands.py +0 -0
  71. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_binary_dataset.py +0 -0
  72. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_blocked_time_series.py +0 -0
  73. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_categorical_dataset.py +0 -0
  74. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_continuous_dataset.py +0 -0
  75. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_country_utils.py +0 -0
  76. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_custom_loss_utils.py +0 -0
  77. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_datetime_utils.py +0 -0
  78. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_email_utils.py +0 -0
  79. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_etalon_validation.py +0 -0
  80. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_features_enricher.py +0 -0
  81. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_metrics.py +0 -0
  82. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_phone_utils.py +0 -0
  83. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_postal_code_utils.py +0 -0
  84. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_target_utils.py +0 -0
  85. {upgini-1.1.268a4 → upgini-1.1.269}/tests/test_widget.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: upgini
3
- Version: 1.1.268a4
3
+ Version: 1.1.269
4
4
  Summary: Intelligent data search & enrichment for Machine Learning
5
5
  Home-page: https://upgini.com/
6
6
  Author: Upgini Developers
@@ -40,7 +40,7 @@ def send_log(msg: str):
40
40
 
41
41
 
42
42
  here = Path(__file__).parent.resolve()
43
- version = "1.1.268a4"
43
+ version = "1.1.269"
44
44
  try:
45
45
  send_log(f"Start setup PyLib version {version}")
46
46
  setup(
@@ -3209,22 +3209,21 @@ class FeaturesEnricher(TransformerMixin):
3209
3209
  return None
3210
3210
  features_meta = self._search_task.get_all_features_metadata_v2()
3211
3211
 
3212
- def get_feature_by_display_index(idx, op):
3212
+ def get_feature_by_name(name: str):
3213
3213
  for m in features_meta:
3214
- if m.name.endswith(f"_{op}_{idx}"):
3214
+ if m.name == name:
3215
3215
  return m
3216
3216
 
3217
3217
  descriptions = []
3218
3218
  for m in autofe_meta:
3219
3219
  autofe_feature = Feature.from_formula(m.formula)
3220
+ autofe_feature.set_display_index(m.display_index)
3220
3221
  if autofe_feature.op.is_vector:
3221
3222
  continue
3222
3223
 
3223
3224
  description = dict()
3224
3225
 
3225
- feature_meta = get_feature_by_display_index(
3226
- m.display_index, autofe_feature.op.alias or autofe_feature.op.name
3227
- )
3226
+ feature_meta = get_feature_by_name(autofe_feature.get_display_name(shorten=True))
3228
3227
  if feature_meta is None:
3229
3228
  self.logger.warning(f"Feature meta for display index {m.display_index} not found")
3230
3229
  continue
@@ -3,10 +3,10 @@ import re
3
3
  from copy import deepcopy
4
4
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
5
5
 
6
+ import catboost
6
7
  import numpy as np
7
8
  import pandas as pd
8
9
  from catboost import CatBoostClassifier, CatBoostRegressor
9
- import catboost
10
10
  from lightgbm import LGBMClassifier, LGBMRegressor
11
11
  from numpy import log1p
12
12
  from pandas.api.types import is_numeric_dtype
@@ -353,6 +353,7 @@ class EstimatorWrapper:
353
353
  "target_type": target_type,
354
354
  "groups": groups,
355
355
  "text_features": text_features,
356
+ "logger": logger,
356
357
  }
357
358
  if estimator is None:
358
359
  params = dict()
@@ -415,9 +416,18 @@ class CatBoostWrapper(EstimatorWrapper):
415
416
  target_type: ModelTaskType,
416
417
  groups: Optional[List[str]] = None,
417
418
  text_features: Optional[List[str]] = None,
419
+ logger: Optional[logging.Logger] = None,
418
420
  ):
419
421
  super(CatBoostWrapper, self).__init__(
420
- estimator, scorer, metric_name, multiplier, cv, target_type, groups=groups, text_features=text_features
422
+ estimator,
423
+ scorer,
424
+ metric_name,
425
+ multiplier,
426
+ cv,
427
+ target_type,
428
+ groups=groups,
429
+ text_features=text_features,
430
+ logger=logger,
421
431
  )
422
432
  self.cat_features = None
423
433
  self.emb_features = None
@@ -439,9 +449,7 @@ class CatBoostWrapper(EstimatorWrapper):
439
449
  X, embedding_features = self.group_embeddings(X)
440
450
  params["embedding_features"] = embedding_features
441
451
  else:
442
- self.logger.info(
443
- f"Embedding features count less than 3, so use them separately: {self.emb_features}"
444
- )
452
+ self.logger.info(f"Embedding features count less than 3, so use them separately: {self.emb_features}")
445
453
  self.emb_features = []
446
454
  else:
447
455
  self.logger.warning(f"Embedding features are not supported by Catboost version {catboost.__version__}")
@@ -546,9 +554,18 @@ class LightGBMWrapper(EstimatorWrapper):
546
554
  target_type: ModelTaskType,
547
555
  groups: Optional[List[str]] = None,
548
556
  text_features: Optional[List[str]] = None,
557
+ logger: Optional[logging.Logger] = None,
549
558
  ):
550
559
  super(LightGBMWrapper, self).__init__(
551
- estimator, scorer, metric_name, multiplier, cv, target_type, groups=groups, text_features=text_features
560
+ estimator,
561
+ scorer,
562
+ metric_name,
563
+ multiplier,
564
+ cv,
565
+ target_type,
566
+ groups=groups,
567
+ text_features=text_features,
568
+ logger=logger,
552
569
  )
553
570
  self.cat_features = None
554
571
 
@@ -585,9 +602,18 @@ class OtherEstimatorWrapper(EstimatorWrapper):
585
602
  target_type: ModelTaskType,
586
603
  groups: Optional[List[str]] = None,
587
604
  text_features: Optional[List[str]] = None,
605
+ logger: Optional[logging.Logger] = None,
588
606
  ):
589
607
  super(OtherEstimatorWrapper, self).__init__(
590
- estimator, scorer, metric_name, multiplier, cv, target_type, groups=groups, text_features=text_features
608
+ estimator,
609
+ scorer,
610
+ metric_name,
611
+ multiplier,
612
+ cv,
613
+ target_type,
614
+ groups=groups,
615
+ text_features=text_features,
616
+ logger=logger,
591
617
  )
592
618
  self.cat_features = None
593
619
 
@@ -1,5 +1,4 @@
1
1
  import functools
2
- import logging
3
2
  import numbers
4
3
  import time
5
4
  import warnings
@@ -312,7 +311,7 @@ def cross_validate(
312
311
  ret[key] = train_scores_dict[name]
313
312
 
314
313
  return ret
315
- except Exception as e:
314
+ except Exception:
316
315
  # logging.exception("Failed to execute overriden cross_validate. Fallback to original")
317
316
  raise
318
317
  # fit_params["use_best_model"] = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: upgini
3
- Version: 1.1.268a4
3
+ Version: 1.1.269
4
4
  Summary: Intelligent data search & enrichment for Machine Learning
5
5
  Home-page: https://upgini.com/
6
6
  Author: Upgini Developers
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes