upgini 1.1.280a3418.post4__py3-none-any.whl → 1.1.280a3418.post5__py3-none-any.whl

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/__about__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.1.280a3418-4"
1
+ __version__ = "1.1.280a3418-5"
@@ -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, Bin, Floor, Freq, Log, Residual, Sigmoid, Sqrt, Square
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
- Bin(),
52
+ DatePercentile(),
53
53
  ]
54
54
  }
55
55
 
upgini/autofe/date.py CHANGED
@@ -1,4 +1,4 @@
1
- from typing import Any, Optional, Union
1
+ from typing import Any, List, Optional, Union
2
2
 
3
3
  import numpy as np
4
4
  import pandas as pd
@@ -116,3 +116,34 @@ class DateListDiffBounded(DateListDiff):
116
116
  def _agg(self, x):
117
117
  x = x[(x >= (self.lower_bound or -np.inf)) & (x < (self.upper_bound or np.inf))]
118
118
  return super()._agg(x)
119
+
120
+
121
+ class DatePercentile(PandasOperand):
122
+ name = "date_per"
123
+ is_binary = True
124
+ output_type = "float"
125
+
126
+ zero_month: Optional[int]
127
+ zero_year: Optional[int]
128
+ zero_bounds: Optional[List[float]]
129
+ step: int = 30
130
+
131
+ def calculate_binary(self, left: pd.Series, right: pd.Series) -> pd.Series:
132
+ # Assuming that left is a date column, right is a feature column
133
+ left = pd.to_datetime(left)
134
+ months = left.dt.month
135
+ years = left.dt.year
136
+
137
+ month_diffs = 12 * (years - (self.zero_year or 0)) + (months - (self.zero_month or 0))
138
+ bounds = month_diffs.apply(
139
+ lambda d: np.array(self.zero_bounds if self.zero_bounds is not None else []) + d * 30
140
+ )
141
+
142
+ return right.index.to_series().apply(lambda i: self.__perc(right[i], bounds[i]))
143
+
144
+ def __perc(self, f, bounds):
145
+ hit = np.where(f >= bounds)[0]
146
+ if hit.size > 0:
147
+ return np.max(hit) * 10
148
+ else:
149
+ return None
upgini/autofe/unary.py CHANGED
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: upgini
3
- Version: 1.1.280a3418.post4
3
+ Version: 1.1.280a3418.post5
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/
@@ -1,4 +1,4 @@
1
- upgini/__about__.py,sha256=n5cs6bnvVUYK6UlCIv1U64HeOfBdjIlM6EqJRD8ZnDM,31
1
+ upgini/__about__.py,sha256=Q1FR3KMCOuNua410sfebGueolQy2Aez075gUP4etVtM,31
2
2
  upgini/__init__.py,sha256=asENHgEVHQBIkV-e_0IhE_ZWqkCG6398U3ZLrNzAH6k,407
3
3
  upgini/ads.py,sha256=nvuRxRx5MHDMgPr9SiU-fsqRdFaBv8p4_v1oqiysKpc,2714
4
4
  upgini/dataset.py,sha256=uiFY-P8te7-zigib1hGWRtW5v0X7chxPM0hJFdixAN8,45623
@@ -13,13 +13,13 @@ upgini/version_validator.py,sha256=RGg87VweujTNlibgsOuqPLIEiBgIOkuXNVTGuNCD234,1
13
13
  upgini/ads_management/__init__.py,sha256=qzyisOToVRP-tquAJD1PblZhNtMrOB8FiyF9JvfkvgE,50
14
14
  upgini/ads_management/ads_manager.py,sha256=igVbN2jz80Umb2BUJixmJVj-zx8unoKpecVo-R-nGdw,2648
15
15
  upgini/autofe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- upgini/autofe/all_operands.py,sha256=VB8-iuNanjtjo3ho2shDDfWQtXGYekeoPEBzpNy1iWo,2377
16
+ upgini/autofe/all_operands.py,sha256=7UyvmmqGSqQu4kDgoFwQRKY__b9xKDk3Fpp2-H8A7AA,2399
17
17
  upgini/autofe/binary.py,sha256=441BRuqMsxlxuw4c8rMZB6h5EpRdVMk-bVa03U7T5Hg,3973
18
- upgini/autofe/date.py,sha256=Vy1I92fLLYLhuYKJmtuPBMI8cPxE4Uwk40hqE2F2e1A,4224
18
+ upgini/autofe/date.py,sha256=n_Ao51RokgZX4uIff37REa96A_4Oh2BZE2QgTyXKCzw,5208
19
19
  upgini/autofe/feature.py,sha256=8ugRW-Ckc-SYNQawgEluoAzJ_oM5v6y9r5Qx_E-C14o,11977
20
20
  upgini/autofe/groupby.py,sha256=4WjDzQxqpZxB79Ih4ihMMI5GDxaFqiH6ZelfV82ClT4,3091
21
21
  upgini/autofe/operand.py,sha256=xgEIZuFCfckc6LpBqVu1OVK3JEabm1O-LHUsp83EHKA,2806
22
- upgini/autofe/unary.py,sha256=xV6UC0qktBtf8QbvlOPmChOn3XVi8Q4N2Td_hHuzk5g,3854
22
+ upgini/autofe/unary.py,sha256=v-l3aiE5hj6kurvh6adCQL8W3X9u9a7RVbS_WPR2qlw,3146
23
23
  upgini/autofe/vector.py,sha256=dLxfAstJs-gw_OQ1xxoxcM6pVzORlV0HVzdzt7cLXVQ,606
24
24
  upgini/data_source/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  upgini/data_source/data_source_publisher.py,sha256=taRzyGgrPrTTSGw4Y-Ca5k4bf30aiTa68rxqT9zfqeI,16478
@@ -56,7 +56,7 @@ upgini/utils/sklearn_ext.py,sha256=c23MGSUVfxLnaDWKAxavHgnOtm5dGKkF3YswdWQcFzs,4
56
56
  upgini/utils/target_utils.py,sha256=Y96_PJ5cC-WsEbeqg20v9uqywDQobLoTb-xoP7S3o4E,7807
57
57
  upgini/utils/track_info.py,sha256=G5Lu1xxakg2_TQjKZk4b5SvrHsATTXNVV3NbvWtT8k8,5663
58
58
  upgini/utils/warning_counter.py,sha256=dIWBB4dI5XRRJZudvIlqlIYKEiwLLPcXarsZuYRt338,227
59
- upgini-1.1.280a3418.post4.dist-info/METADATA,sha256=y_juIdRfzSALswWmJAu5ZppO61xK_H2zkzvLWvvrvx8,48129
60
- upgini-1.1.280a3418.post4.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
61
- upgini-1.1.280a3418.post4.dist-info/licenses/LICENSE,sha256=5RRzgvdJUu3BUDfv4bzVU6FqKgwHlIay63pPCSmSgzw,1514
62
- upgini-1.1.280a3418.post4.dist-info/RECORD,,
59
+ upgini-1.1.280a3418.post5.dist-info/METADATA,sha256=rFBfntuYeUXsUisftZbvZhS-i6MPHagu8WfynRsqjbg,48129
60
+ upgini-1.1.280a3418.post5.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
61
+ upgini-1.1.280a3418.post5.dist-info/licenses/LICENSE,sha256=5RRzgvdJUu3BUDfv4bzVU6FqKgwHlIay63pPCSmSgzw,1514
62
+ upgini-1.1.280a3418.post5.dist-info/RECORD,,