upgini 1.1.280a3418.post4__tar.gz → 1.1.280a3418.post6__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.
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/PKG-INFO +1 -1
- upgini-1.1.280a3418.post6/src/upgini/__about__.py +1 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/all_operands.py +3 -3
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/date.py +42 -2
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/unary.py +0 -23
- upgini-1.1.280a3418.post4/src/upgini/__about__.py +0 -1
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/.gitignore +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/LICENSE +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/README.md +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/pyproject.toml +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/ads.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/ads_management/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/ads_management/ads_manager.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/binary.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/feature.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/groupby.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/operand.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/autofe/vector.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/data_source/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/data_source/data_source_publisher.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/dataset.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/errors.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/features_enricher.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/http.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/mdc/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/mdc/context.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/metadata.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/metrics.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/normalizer/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/normalizer/phone_normalizer.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/resource_bundle/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/resource_bundle/exceptions.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/resource_bundle/strings.properties +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/resource_bundle/strings_widget.properties +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/sampler/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/sampler/base.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/sampler/random_under_sampler.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/sampler/utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/search_task.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/spinner.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/__init__.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/base_search_key_detector.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/blocked_time_series.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/country_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/custom_loss_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/cv_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/datetime_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/deduplicate_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/display_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/email_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/fallback_progress_bar.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/features_validator.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/format.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/ip_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/phone_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/postal_code_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/progress_bar.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/sklearn_ext.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/target_utils.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/track_info.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/warning_counter.py +0 -0
- {upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/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.280a3418.
|
|
3
|
+
Version: 1.1.280a3418.post6
|
|
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.280a3418-6"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from typing import Dict
|
|
2
2
|
|
|
3
3
|
from upgini.autofe.binary import Add, Divide, Max, Min, Multiply, Sim, Subtract
|
|
4
|
-
from upgini.autofe.date import DateDiff, DateDiffType2, DateListDiff, DateListDiffBounded
|
|
4
|
+
from upgini.autofe.date import DateDiff, DateDiffType2, DateListDiff, DateListDiffBounded, DatePercentile
|
|
5
5
|
from upgini.autofe.groupby import GroupByThenAgg, GroupByThenRank
|
|
6
6
|
from upgini.autofe.operand import Operand
|
|
7
|
-
from upgini.autofe.unary import Abs,
|
|
7
|
+
from upgini.autofe.unary import Abs, Floor, Freq, Log, Residual, Sigmoid, Sqrt, Square
|
|
8
8
|
from upgini.autofe.vector import Mean, Sum
|
|
9
9
|
|
|
10
10
|
ALL_OPERANDS: Dict[str, Operand] = {
|
|
@@ -49,7 +49,7 @@ ALL_OPERANDS: Dict[str, Operand] = {
|
|
|
49
49
|
DateListDiffBounded(diff_unit="Y", aggregation="count", lower_bound=30, upper_bound=45),
|
|
50
50
|
DateListDiffBounded(diff_unit="Y", aggregation="count", lower_bound=45, upper_bound=60),
|
|
51
51
|
DateListDiffBounded(diff_unit="Y", aggregation="count", lower_bound=60),
|
|
52
|
-
|
|
52
|
+
DatePercentile(),
|
|
53
53
|
]
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
from
|
|
1
|
+
from datetime import date
|
|
2
|
+
from typing import Any, List, Optional, Union
|
|
2
3
|
|
|
3
4
|
import numpy as np
|
|
4
5
|
import pandas as pd
|
|
5
6
|
from pandas.core.arrays.timedeltas import TimedeltaArray
|
|
6
|
-
from pydantic import BaseModel
|
|
7
|
+
from pydantic import BaseModel, validator
|
|
7
8
|
|
|
8
9
|
from upgini.autofe.operand import PandasOperand
|
|
9
10
|
|
|
@@ -116,3 +117,42 @@ class DateListDiffBounded(DateListDiff):
|
|
|
116
117
|
def _agg(self, x):
|
|
117
118
|
x = x[(x >= (self.lower_bound or -np.inf)) & (x < (self.upper_bound or np.inf))]
|
|
118
119
|
return super()._agg(x)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class DatePercentile(PandasOperand):
|
|
123
|
+
name = "date_per"
|
|
124
|
+
is_binary = True
|
|
125
|
+
output_type = "float"
|
|
126
|
+
|
|
127
|
+
date_unit: Optional[str] = None
|
|
128
|
+
zero_month: Optional[int]
|
|
129
|
+
zero_year: Optional[int]
|
|
130
|
+
zero_bounds: Optional[List[float]]
|
|
131
|
+
step: int = 30
|
|
132
|
+
|
|
133
|
+
@validator("zero_bounds", pre=True)
|
|
134
|
+
def validate_bounds(cls, value):
|
|
135
|
+
if value is None or isinstance(value, list):
|
|
136
|
+
return value
|
|
137
|
+
elif isinstance(value, str):
|
|
138
|
+
return value[1:-1].split(", ")
|
|
139
|
+
|
|
140
|
+
def calculate_binary(self, left: pd.Series, right: pd.Series) -> pd.Series:
|
|
141
|
+
# Assuming that left is a date column, right is a feature column
|
|
142
|
+
left = pd.to_datetime(left, unit=self.date_unit)
|
|
143
|
+
months = left.dt.month
|
|
144
|
+
years = left.dt.year
|
|
145
|
+
|
|
146
|
+
month_diffs = 12 * (years - (self.zero_year or 0)) + (months - (self.zero_month or 0))
|
|
147
|
+
bounds = month_diffs.apply(
|
|
148
|
+
lambda d: np.array(self.zero_bounds if self.zero_bounds is not None else []) + d * 30
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
return right.index.to_series().apply(lambda i: self.__perc(right[i], bounds[i]))
|
|
152
|
+
|
|
153
|
+
def __perc(self, f, bounds):
|
|
154
|
+
hit = np.where(f >= bounds)[0]
|
|
155
|
+
if hit.size > 0:
|
|
156
|
+
return np.max(hit) * 10
|
|
157
|
+
else:
|
|
158
|
+
return None
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
1
|
import numpy as np
|
|
3
2
|
import pandas as pd
|
|
4
3
|
|
|
@@ -112,25 +111,3 @@ class Freq(PandasOperand):
|
|
|
112
111
|
def calculate_unary(self, data: pd.Series) -> pd.Series:
|
|
113
112
|
value_counts = data.value_counts(normalize=True)
|
|
114
113
|
return self._loc(data, value_counts)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
class Bin(PandasOperand):
|
|
118
|
-
name = "bin"
|
|
119
|
-
is_unary = True
|
|
120
|
-
output_type = "int"
|
|
121
|
-
input_type = "discrete"
|
|
122
|
-
|
|
123
|
-
zero_bound_low: Optional[int]
|
|
124
|
-
zero_bound_high: Optional[int]
|
|
125
|
-
step: Optional[int]
|
|
126
|
-
|
|
127
|
-
def calculate_unary(self, data: pd.Series) -> pd.Series:
|
|
128
|
-
high = self.zero_bound_high if self.zero_bound_high is not None else np.inf
|
|
129
|
-
low = self.zero_bound_low if self.zero_bound_low is not None else -np.inf
|
|
130
|
-
step = self.step or 1
|
|
131
|
-
|
|
132
|
-
res = pd.Series(np.zeros(data.shape), index=data.index, dtype="int")
|
|
133
|
-
res.update((data[data < low] - low) // step)
|
|
134
|
-
res.update((data[data >= high] - high) // step + 1)
|
|
135
|
-
|
|
136
|
-
return res
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.1.280a3418-4"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/ads_management/__init__.py
RENAMED
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/ads_management/ads_manager.py
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
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/normalizer/phone_normalizer.py
RENAMED
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/resource_bundle/__init__.py
RENAMED
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/resource_bundle/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/sampler/random_under_sampler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/base_search_key_detector.py
RENAMED
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/blocked_time_series.py
RENAMED
|
File without changes
|
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/custom_loss_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/deduplicate_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/fallback_progress_bar.py
RENAMED
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/features_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{upgini-1.1.280a3418.post4 → upgini-1.1.280a3418.post6}/src/upgini/utils/postal_code_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|