upgini 1.2.114a2__tar.gz → 1.2.114a3__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.
Files changed (80) hide show
  1. {upgini-1.2.114a2 → upgini-1.2.114a3}/PKG-INFO +1 -1
  2. upgini-1.2.114a3/src/upgini/__about__.py +1 -0
  3. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/features_enricher.py +4 -0
  4. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/psi.py +3 -3
  5. upgini-1.2.114a2/src/upgini/__about__.py +0 -1
  6. {upgini-1.2.114a2 → upgini-1.2.114a3}/.gitignore +0 -0
  7. {upgini-1.2.114a2 → upgini-1.2.114a3}/LICENSE +0 -0
  8. {upgini-1.2.114a2 → upgini-1.2.114a3}/README.md +0 -0
  9. {upgini-1.2.114a2 → upgini-1.2.114a3}/pyproject.toml +0 -0
  10. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/__init__.py +0 -0
  11. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/ads.py +0 -0
  12. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/ads_management/__init__.py +0 -0
  13. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/ads_management/ads_manager.py +0 -0
  14. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/__init__.py +0 -0
  15. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/all_operators.py +0 -0
  16. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/binary.py +0 -0
  17. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/date.py +0 -0
  18. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/feature.py +0 -0
  19. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/groupby.py +0 -0
  20. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/operator.py +0 -0
  21. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/__init__.py +0 -0
  22. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/base.py +0 -0
  23. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/cross.py +0 -0
  24. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/delta.py +0 -0
  25. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/lag.py +0 -0
  26. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/roll.py +0 -0
  27. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/trend.py +0 -0
  28. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/timeseries/volatility.py +0 -0
  29. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/unary.py +0 -0
  30. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/utils.py +0 -0
  31. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/autofe/vector.py +0 -0
  32. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/data_source/__init__.py +0 -0
  33. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/data_source/data_source_publisher.py +0 -0
  34. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/dataset.py +0 -0
  35. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/errors.py +0 -0
  36. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/http.py +0 -0
  37. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/mdc/__init__.py +0 -0
  38. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/mdc/context.py +0 -0
  39. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/metadata.py +0 -0
  40. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/metrics.py +0 -0
  41. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/normalizer/__init__.py +0 -0
  42. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/normalizer/normalize_utils.py +0 -0
  43. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/resource_bundle/__init__.py +0 -0
  44. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/resource_bundle/exceptions.py +0 -0
  45. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/resource_bundle/strings.properties +0 -0
  46. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  47. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/sampler/__init__.py +0 -0
  48. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/sampler/base.py +0 -0
  49. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/sampler/random_under_sampler.py +0 -0
  50. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/sampler/utils.py +0 -0
  51. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/search_task.py +0 -0
  52. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/spinner.py +0 -0
  53. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/Roboto-Regular.ttf +0 -0
  54. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/__init__.py +0 -0
  55. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/base_search_key_detector.py +0 -0
  56. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/blocked_time_series.py +0 -0
  57. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/country_utils.py +0 -0
  58. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/custom_loss_utils.py +0 -0
  59. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/cv_utils.py +0 -0
  60. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/datetime_utils.py +0 -0
  61. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/deduplicate_utils.py +0 -0
  62. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/display_utils.py +0 -0
  63. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/email_utils.py +0 -0
  64. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/fallback_progress_bar.py +0 -0
  65. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/feature_info.py +0 -0
  66. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/features_validator.py +0 -0
  67. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/format.py +0 -0
  68. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/ip_utils.py +0 -0
  69. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/mstats.py +0 -0
  70. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/phone_utils.py +0 -0
  71. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/postal_code_utils.py +0 -0
  72. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/progress_bar.py +0 -0
  73. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/sample_utils.py +0 -0
  74. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/sklearn_ext.py +0 -0
  75. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/sort.py +0 -0
  76. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/target_utils.py +0 -0
  77. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/track_info.py +0 -0
  78. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/ts_utils.py +0 -0
  79. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/utils/warning_counter.py +0 -0
  80. {upgini-1.2.114a2 → upgini-1.2.114a3}/src/upgini/version_validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: upgini
3
- Version: 1.2.114a2
3
+ Version: 1.2.114a3
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.2.114a3"
@@ -1516,6 +1516,8 @@ class FeaturesEnricher(TransformerMixin):
1516
1516
  checking_eval_set_df, cat_features, date_column, self.logger, model_task_type
1517
1517
  )
1518
1518
 
1519
+ self.logger.info(f"PSI values by sparsity: {psi_values_sparse}")
1520
+
1519
1521
  unstable_by_sparsity = [feature for feature, psi in psi_values_sparse.items() if psi > stability_threshold]
1520
1522
  if unstable_by_sparsity:
1521
1523
  self.logger.info(f"Unstable by sparsity features: {sorted(unstable_by_sparsity)}")
@@ -1524,6 +1526,8 @@ class FeaturesEnricher(TransformerMixin):
1524
1526
  checking_eval_set_df, cat_features, date_column, self.logger, model_task_type
1525
1527
  )
1526
1528
 
1529
+ self.logger.info(f"PSI values by value: {psi_values}")
1530
+
1527
1531
  unstable_by_value = [feature for feature, psi in psi_values.items() if psi > stability_threshold]
1528
1532
  if unstable_by_value:
1529
1533
  self.logger.info(f"Unstable by value features: {sorted(unstable_by_value)}")
@@ -77,7 +77,7 @@ def calculate_features_psi(
77
77
  psi_features_params: StabilityParams = DEFAULT_FEATURES_PARAMS,
78
78
  psi_target_params: StabilityParams = DEFAULT_TARGET_PARAMS,
79
79
  ) -> Dict[str, float]:
80
- empty_res = pd.Series(index=df.columns, data=0)
80
+ empty_res = {col: 0.0 for col in df.columns if col not in [TARGET, date_column]}
81
81
 
82
82
  if not is_numeric_dtype(df[date_column]):
83
83
  df[date_column] = pd.to_datetime(df[date_column]).dt.floor("D").astype(np.int64) / 10**6
@@ -113,9 +113,9 @@ def calculate_features_psi(
113
113
  cat_top_pct=psi_target_params.cat_top_pct,
114
114
  agg_func=target_agg_func,
115
115
  )
116
- if target_psi is None:
116
+ if target_psi is None or np.isnan(target_psi):
117
117
  logger.info("Cannot determine target PSI. Skip feature PSI check")
118
- return pd.Series(index=df.columns, data=0)
118
+ return empty_res
119
119
 
120
120
  if target_psi > psi_target_params.threshold:
121
121
  logger.info(
@@ -1 +0,0 @@
1
- __version__ = "1.2.114a2"
File without changes
File without changes
File without changes
File without changes
File without changes