upgini 1.1.282a3418.post1__tar.gz → 1.1.282a3418.post3__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 (64) hide show
  1. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/PKG-INFO +1 -1
  2. upgini-1.1.282a3418.post3/src/upgini/__about__.py +1 -0
  3. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/date.py +0 -1
  4. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/feature.py +6 -1
  5. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/features_enricher.py +13 -10
  6. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/metadata.py +3 -1
  7. upgini-1.1.282a3418.post1/src/upgini/__about__.py +0 -1
  8. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/.gitignore +0 -0
  9. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/LICENSE +0 -0
  10. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/README.md +0 -0
  11. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/pyproject.toml +0 -0
  12. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/__init__.py +0 -0
  13. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/ads.py +0 -0
  14. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/ads_management/__init__.py +0 -0
  15. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/ads_management/ads_manager.py +0 -0
  16. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/__init__.py +0 -0
  17. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/all_operands.py +0 -0
  18. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/binary.py +0 -0
  19. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/groupby.py +0 -0
  20. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/operand.py +0 -0
  21. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/unary.py +0 -0
  22. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/autofe/vector.py +0 -0
  23. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/data_source/__init__.py +0 -0
  24. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/data_source/data_source_publisher.py +0 -0
  25. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/dataset.py +0 -0
  26. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/errors.py +0 -0
  27. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/http.py +0 -0
  28. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/mdc/__init__.py +0 -0
  29. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/mdc/context.py +0 -0
  30. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/metrics.py +0 -0
  31. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/normalizer/__init__.py +0 -0
  32. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/normalizer/phone_normalizer.py +0 -0
  33. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/resource_bundle/__init__.py +0 -0
  34. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/resource_bundle/exceptions.py +0 -0
  35. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/resource_bundle/strings.properties +0 -0
  36. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  37. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/sampler/__init__.py +0 -0
  38. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/sampler/base.py +0 -0
  39. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/sampler/random_under_sampler.py +0 -0
  40. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/sampler/utils.py +0 -0
  41. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/search_task.py +0 -0
  42. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/spinner.py +0 -0
  43. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/__init__.py +0 -0
  44. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/base_search_key_detector.py +0 -0
  45. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/blocked_time_series.py +0 -0
  46. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/country_utils.py +0 -0
  47. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/custom_loss_utils.py +0 -0
  48. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/cv_utils.py +0 -0
  49. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/datetime_utils.py +0 -0
  50. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/deduplicate_utils.py +0 -0
  51. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/display_utils.py +0 -0
  52. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/email_utils.py +0 -0
  53. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/fallback_progress_bar.py +0 -0
  54. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/features_validator.py +0 -0
  55. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/format.py +0 -0
  56. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/ip_utils.py +0 -0
  57. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/phone_utils.py +0 -0
  58. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/postal_code_utils.py +0 -0
  59. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/progress_bar.py +0 -0
  60. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/sklearn_ext.py +0 -0
  61. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/target_utils.py +0 -0
  62. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/track_info.py +0 -0
  63. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/utils/warning_counter.py +0 -0
  64. {upgini-1.1.282a3418.post1 → upgini-1.1.282a3418.post3}/src/upgini/version_validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: upgini
3
- Version: 1.1.282a3418.post1
3
+ Version: 1.1.282a3418.post3
4
4
  Summary: Intelligent data search & enrichment for Machine Learning
5
5
  Project-URL: Bug Reports, https://github.com/upgini/upgini/issues
6
6
  Project-URL: Homepage, https://upgini.com/
@@ -0,0 +1 @@
1
+ __version__ = "1.1.282a3418-3"
@@ -1,4 +1,3 @@
1
- from datetime import date
2
1
  from typing import Any, Dict, List, Optional, Union
3
2
 
4
3
  import numpy as np
@@ -1,6 +1,6 @@
1
1
  import hashlib
2
2
  import itertools
3
- from typing import Dict, List, Optional, Tuple, Union
3
+ from typing import Dict, List, Optional, Set, Tuple, Union
4
4
 
5
5
  import numpy as np
6
6
  import pandas as pd
@@ -94,6 +94,11 @@ class Feature:
94
94
  self.alias = alias
95
95
  return self
96
96
 
97
+ def get_all_operand_names(self) -> Set[str]:
98
+ return {self.op.name}.union(
99
+ {n for f in self.children if isinstance(f, Feature) for n in f.get_all_operand_names()}
100
+ )
101
+
97
102
  def rename_columns(self, mapping: Dict[str, str]) -> "Feature":
98
103
  for child in self.children:
99
104
  child.rename_columns(mapping)
@@ -1442,15 +1442,12 @@ class FeaturesEnricher(TransformerMixin):
1442
1442
  if len(decimal_columns_to_fix) > 0:
1443
1443
  for col in decimal_columns_to_fix:
1444
1444
  fitting_eval_X[col] = (
1445
- fitting_eval_X[col]
1446
- .astype("string").str
1447
- .replace(",", ".", regex=False)
1448
- .astype(np.float64)
1445
+ fitting_eval_X[col].astype("string").str.replace(",", ".", regex=False).astype(np.float64)
1449
1446
  )
1450
1447
  fitting_enriched_eval_X[col] = (
1451
1448
  fitting_enriched_eval_X[col]
1452
- .astype("string").str
1453
- .replace(",", ".", regex=False)
1449
+ .astype("string")
1450
+ .str.replace(",", ".", regex=False)
1454
1451
  .astype(np.float64)
1455
1452
  )
1456
1453
 
@@ -3269,10 +3266,16 @@ class FeaturesEnricher(TransformerMixin):
3269
3266
 
3270
3267
  descriptions = []
3271
3268
  for m in autofe_meta:
3272
- autofe_feature = Feature.from_formula(m.formula)
3273
3269
  orig_to_hashed = {base_column.original_name: base_column.hashed_name for base_column in m.base_columns}
3274
- autofe_feature.rename_columns(orig_to_hashed)
3275
- autofe_feature.set_display_index(m.display_index)
3270
+
3271
+ autofe_feature = (
3272
+ Feature.from_formula(m.formula)
3273
+ .set_display_index(m.display_index)
3274
+ .set_alias(m.alias)
3275
+ .set_op_params(m.operator_params or {})
3276
+ .rename_columns(orig_to_hashed)
3277
+ )
3278
+
3276
3279
  if autofe_feature.op.is_vector:
3277
3280
  continue
3278
3281
 
@@ -3293,7 +3296,7 @@ class FeaturesEnricher(TransformerMixin):
3293
3296
  description[f"Feature {feature_idx}"] = bc.hashed_name
3294
3297
  feature_idx += 1
3295
3298
 
3296
- description["Function"] = autofe_feature.op.name
3299
+ description["Function"] = ",".join(sorted(autofe_feature.get_all_operand_names()))
3297
3300
 
3298
3301
  descriptions.append(description)
3299
3302
 
@@ -256,9 +256,11 @@ class BaseColumnMetadata(BaseModel):
256
256
 
257
257
 
258
258
  class GeneratedFeatureMetadata(BaseModel):
259
- formula: str # on hashed names
259
+ alias: Optional[str]
260
+ formula: str
260
261
  display_index: str
261
262
  base_columns: List[BaseColumnMetadata]
263
+ operator_params: Optional[Dict[str, str]]
262
264
 
263
265
 
264
266
  class ProviderTaskMetadataV2(BaseModel):
@@ -1 +0,0 @@
1
- __version__ = "1.1.282a3418-1"