upgini 1.2.157.dev2__tar.gz → 1.2.157.dev3__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.
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/PKG-INFO +1 -1
- upgini-1.2.157.dev3/src/upgini/__about__.py +1 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/feature.py +11 -12
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/operand.py +21 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/unary.py +1 -1
- upgini-1.2.157.dev2/src/upgini/__about__.py +0 -1
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/.gitignore +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/LICENSE +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/README.md +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/pyproject.toml +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/ads.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/ads_management/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/ads_management/ads_manager.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/all_operators.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/binary.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/date.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/groupby.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/operator.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/base.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/cross.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/delta.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/lag.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/roll.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/trend.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/timeseries/volatility.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/autofe/vector.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/data_source/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/data_source/data_source_publisher.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/dataset.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/errors.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/features_enricher.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/http.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/mdc/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/mdc/context.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/metadata.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/metrics.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/normalizer/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/normalizer/normalize_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/resource_bundle/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/resource_bundle/exceptions.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/resource_bundle/strings.properties +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/resource_bundle/strings_widget.properties +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/sampler/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/sampler/base.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/sampler/random_under_sampler.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/sampler/utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/search_task.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/spinner.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/Roboto-Regular.ttf +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/__init__.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/base_search_key_detector.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/blocked_time_series.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/config.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/country_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/custom_loss_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/cv_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/datetime_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/deduplicate_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/display_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/email_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/fallback_progress_bar.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/feature_info.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/features_validator.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/format.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/hash_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/ip_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/mstats.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/one_hot_encoder.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/phone_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/postal_code_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/progress_bar.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/psi.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/sample_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/sklearn_ext.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/sort.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/target_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/track_info.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/ts_utils.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/utils/warning_counter.py +0 -0
- {upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/version_validator.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.2.157.dev3"
|
|
@@ -8,7 +8,7 @@ import pandas as pd
|
|
|
8
8
|
from pandas._typing import DtypeObj
|
|
9
9
|
|
|
10
10
|
from upgini.autofe.all_operators import find_op
|
|
11
|
-
from upgini.autofe.operand import CalculationContext, OperandValue
|
|
11
|
+
from upgini.autofe.operand import CalculationContext, OperandValue, operand_to_output
|
|
12
12
|
from upgini.autofe.operator import Operator, PandasOperator
|
|
13
13
|
from upgini.autofe.timeseries.base import TimeSeriesBase
|
|
14
14
|
from upgini.autofe.utils import pydantic_dump_method, pydantic_parse_method
|
|
@@ -62,9 +62,14 @@ class Column:
|
|
|
62
62
|
def infer_type(self, data: pd.DataFrame) -> DtypeObj:
|
|
63
63
|
return data[self.name].dtype
|
|
64
64
|
|
|
65
|
-
def calculate(
|
|
65
|
+
def calculate(
|
|
66
|
+
self,
|
|
67
|
+
data: Union[pd.DataFrame, CalculationContext],
|
|
68
|
+
preserve_kind: bool = False,
|
|
69
|
+
) -> Union[pd.Series, OperandValue]:
|
|
66
70
|
ctx = data if isinstance(data, CalculationContext) else CalculationContext.from_dataframe(data)
|
|
67
|
-
|
|
71
|
+
operand = self._eval(ctx)
|
|
72
|
+
return operand if preserve_kind else operand.as_series()
|
|
68
73
|
|
|
69
74
|
def _eval(self, ctx: CalculationContext) -> OperandValue:
|
|
70
75
|
self.data = ctx.resolve_operand(self.name)
|
|
@@ -245,10 +250,11 @@ class Feature:
|
|
|
245
250
|
self,
|
|
246
251
|
data: Union[pd.DataFrame, CalculationContext],
|
|
247
252
|
is_root: bool = False,
|
|
248
|
-
|
|
253
|
+
preserve_kind: bool = False,
|
|
254
|
+
) -> Union[pd.Series, pd.DataFrame, OperandValue]:
|
|
249
255
|
ctx = data if isinstance(data, CalculationContext) else CalculationContext.from_dataframe(data)
|
|
250
256
|
result = self._eval(ctx)
|
|
251
|
-
new_data =
|
|
257
|
+
new_data = operand_to_output(result, preserve_kind=preserve_kind)
|
|
252
258
|
|
|
253
259
|
if is_root:
|
|
254
260
|
self.data = new_data
|
|
@@ -266,13 +272,6 @@ class Feature:
|
|
|
266
272
|
return self.op.calculate(left=left, right=right)
|
|
267
273
|
raise NotImplementedError(f"Unrecognized operator {self.op.name}.")
|
|
268
274
|
|
|
269
|
-
@staticmethod
|
|
270
|
-
def _operand_to_output(operand: OperandValue) -> Union[pd.Series, pd.DataFrame]:
|
|
271
|
-
new_data = operand.as_series()
|
|
272
|
-
if (str(new_data.dtype) == "category") | (str(new_data.dtype) == "object"):
|
|
273
|
-
return new_data
|
|
274
|
-
return new_data.replace([-np.inf, np.inf], np.nan)
|
|
275
|
-
|
|
276
275
|
@staticmethod
|
|
277
276
|
def check_xor(left: Union[Column, "Feature"], right: Union[Column, "Feature"]) -> bool:
|
|
278
277
|
def _get_all_columns(feature: Union[Column, "Feature"]) -> List[str]:
|
|
@@ -94,6 +94,27 @@ class CalculationContext:
|
|
|
94
94
|
raise KeyError(name)
|
|
95
95
|
|
|
96
96
|
|
|
97
|
+
def finalize_operand(operand: OperandValue) -> OperandValue:
|
|
98
|
+
if operand.kind == OperandKind.MATRIX:
|
|
99
|
+
matrix = np.where(np.isinf(operand.as_matrix()), np.nan, operand.as_matrix())
|
|
100
|
+
return OperandValue.from_matrix(matrix, index=operand.index, source=operand.source)
|
|
101
|
+
if operand.kind == OperandKind.ARRAY:
|
|
102
|
+
array = operand.data # type: ignore[assignment]
|
|
103
|
+
array = np.where(np.isinf(array), np.nan, array)
|
|
104
|
+
return OperandValue.from_array(array, index=operand.index, source=operand.source)
|
|
105
|
+
new_data = operand.as_series()
|
|
106
|
+
if (str(new_data.dtype) == "category") | (str(new_data.dtype) == "object"):
|
|
107
|
+
return OperandValue.from_series(new_data, source=operand.source)
|
|
108
|
+
return OperandValue.from_series(new_data.replace([-np.inf, np.inf], np.nan), source=operand.source)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def operand_to_output(operand: OperandValue, preserve_kind: bool = False) -> Union[pd.Series, OperandValue]:
|
|
112
|
+
finalized = finalize_operand(operand)
|
|
113
|
+
if preserve_kind:
|
|
114
|
+
return finalized
|
|
115
|
+
return finalized.as_series()
|
|
116
|
+
|
|
117
|
+
|
|
97
118
|
def wrap_operand(
|
|
98
119
|
result: Union[pd.Series, np.ndarray, "OperandValue"],
|
|
99
120
|
source: Optional[str] = None,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.2.157.dev2"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{upgini-1.2.157.dev2 → upgini-1.2.157.dev3}/src/upgini/resource_bundle/strings_widget.properties
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|