virgo-modules 0.5.0__py3-none-any.whl → 0.5.1__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 virgo-modules might be problematic. Click here for more details.
- virgo_modules/src/edge_utils/edge_utils.py +20 -4
- virgo_modules/src/edge_utils/stack_model.py +4 -1
- {virgo_modules-0.5.0.dist-info → virgo_modules-0.5.1.dist-info}/METADATA +2 -4
- {virgo_modules-0.5.0.dist-info → virgo_modules-0.5.1.dist-info}/RECORD +7 -7
- {virgo_modules-0.5.0.dist-info → virgo_modules-0.5.1.dist-info}/WHEEL +1 -1
- {virgo_modules-0.5.0.dist-info → virgo_modules-0.5.1.dist-info}/LICENSE +0 -0
- {virgo_modules-0.5.0.dist-info → virgo_modules-0.5.1.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
import itertools
|
|
3
|
+
import random
|
|
4
|
+
import math
|
|
3
5
|
|
|
4
6
|
from sklearn.metrics import roc_auc_score, precision_score, recall_score
|
|
5
7
|
from sklearn.pipeline import Pipeline
|
|
@@ -310,7 +312,7 @@ class ExpandingMultipleTimeSeriesKFold:
|
|
|
310
312
|
get number of splits
|
|
311
313
|
"""
|
|
312
314
|
|
|
313
|
-
def __init__(self, df, window_size = 100, number_window=3, overlap_size = 0):
|
|
315
|
+
def __init__(self, df, window_size = 100, number_window=3, overlap_size = 0, sample_parts = None):
|
|
314
316
|
"""
|
|
315
317
|
Initialize object
|
|
316
318
|
|
|
@@ -320,6 +322,7 @@ class ExpandingMultipleTimeSeriesKFold:
|
|
|
320
322
|
number_window (int): number of train splits
|
|
321
323
|
window_size (int): window size data
|
|
322
324
|
overlap_size (int): overlap size
|
|
325
|
+
sample_individuals (tuple(float, str)): sample partition units to remove from the train set, tuple()
|
|
323
326
|
|
|
324
327
|
Returns
|
|
325
328
|
-------
|
|
@@ -329,6 +332,7 @@ class ExpandingMultipleTimeSeriesKFold:
|
|
|
329
332
|
self.number_window = number_window
|
|
330
333
|
self.window_size = window_size
|
|
331
334
|
self.overlap_size = overlap_size
|
|
335
|
+
self.sample_parts = sample_parts
|
|
332
336
|
|
|
333
337
|
def split(self, X, y, groups=None):
|
|
334
338
|
"""
|
|
@@ -372,9 +376,21 @@ class ExpandingMultipleTimeSeriesKFold:
|
|
|
372
376
|
max_train_date = max(train_dates)
|
|
373
377
|
min_test_date, max_test_date = min(test_dates), max(test_dates)
|
|
374
378
|
|
|
375
|
-
cut = cut - (self.window_size - self.overlap_size)
|
|
376
|
-
|
|
377
|
-
|
|
379
|
+
cut = cut - (self.window_size - self.overlap_size)
|
|
380
|
+
|
|
381
|
+
if self.sample_parts:
|
|
382
|
+
sample_part = self.sample_parts[0]
|
|
383
|
+
part_col = self.sample_parts[1]
|
|
384
|
+
unique_parts = list(self.df.index.get_level_values(part_col).unique())
|
|
385
|
+
random.shuffle(unique_parts)
|
|
386
|
+
n_select = math.ceil(len(unique_parts)*sample_part)
|
|
387
|
+
to_drop = unique_parts[0:n_select]
|
|
388
|
+
train_index = self.df[
|
|
389
|
+
(self.df.index.get_level_values('Date_i') <= max_train_date)
|
|
390
|
+
&
|
|
391
|
+
(~self.df.index.get_level_values(part_col).isin(to_drop))].index.get_level_values('i')
|
|
392
|
+
else:
|
|
393
|
+
train_index = self.df[self.df.index.get_level_values('Date_i') <= max_train_date].index.get_level_values('i')
|
|
378
394
|
test_index = self.df[(self.df.index.get_level_values('Date_i') >= min_test_date) & (self.df.index.get_level_values('Date_i') <= max_test_date)].index.get_level_values('i')
|
|
379
395
|
|
|
380
396
|
yield train_index, test_index
|
|
@@ -3,7 +3,7 @@ import pandas as pd
|
|
|
3
3
|
|
|
4
4
|
from sklearn.base import BaseEstimator, ClassifierMixin
|
|
5
5
|
|
|
6
|
-
class MyStackingClassifierMultiClass(
|
|
6
|
+
class MyStackingClassifierMultiClass(ClassifierMixin, BaseEstimator):
|
|
7
7
|
def __init__(self, estimators, meta_estimators,targets,perc=None,stack_size=None, **kwargs):
|
|
8
8
|
self.estimators = estimators
|
|
9
9
|
self.meta_estimators = meta_estimators
|
|
@@ -14,6 +14,7 @@ class MyStackingClassifierMultiClass(BaseEstimator, ClassifierMixin):
|
|
|
14
14
|
raise Exception('set one option')
|
|
15
15
|
self.stack_size = stack_size
|
|
16
16
|
self.perc = perc
|
|
17
|
+
|
|
17
18
|
def get_index_training(self, X):
|
|
18
19
|
if self.stack_size:
|
|
19
20
|
unique_dates = list(X.index.get_level_values('Date_i').unique())
|
|
@@ -53,6 +54,8 @@ class MyStackingClassifierMultiClass(BaseEstimator, ClassifierMixin):
|
|
|
53
54
|
meta_preds_df[metacols],
|
|
54
55
|
y[X.index.get_level_values('i').isin(meta_indexes)][self.targets[i]]
|
|
55
56
|
)
|
|
57
|
+
self.is_fitted_ = True
|
|
58
|
+
self.classes_ = np.array([[0,1],[0,1]])
|
|
56
59
|
|
|
57
60
|
def predict_proba(self, X):
|
|
58
61
|
metas_pred = dict()
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: virgo-modules
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1
|
|
4
4
|
Summary: data processing and statistical modeling using stock market data
|
|
5
5
|
Home-page: https://github.com/miguelmayhem92/virgo_module
|
|
6
6
|
Author: Miguel Mayhuire
|
|
7
7
|
Author-email: miguelmayhem92@gmail.com
|
|
8
8
|
License: MIT
|
|
9
|
-
Platform: UNKNOWN
|
|
10
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
10
|
Classifier: Programming Language :: Python :: 3.9
|
|
12
11
|
Classifier: Operating System :: OS Independent
|
|
@@ -14,7 +13,7 @@ Requires-Python: >=3.9
|
|
|
14
13
|
Description-Content-Type: text/markdown
|
|
15
14
|
License-File: LICENSE
|
|
16
15
|
Provides-Extra: dev
|
|
17
|
-
Requires-Dist: pytest
|
|
16
|
+
Requires-Dist: pytest >=7.0 ; extra == 'dev'
|
|
18
17
|
|
|
19
18
|
# Virgo Package
|
|
20
19
|
|
|
@@ -35,4 +34,3 @@ obj = stock_eda_panel(stock_code = 'PEP', n_days = 20)
|
|
|
35
34
|
obj.get_data()
|
|
36
35
|
print(obj.df.shape)
|
|
37
36
|
```
|
|
38
|
-
|
|
@@ -9,11 +9,11 @@ virgo_modules/src/ticketer_source.py,sha256=jxP-OOeoyN2JxRQg-mX6t6WNJXiIrhWKDywD
|
|
|
9
9
|
virgo_modules/src/transformer_utils.py,sha256=ysCUp3cB3_7Jr9OHDqhg2_6Vu0k1YVjfqbvQNbxpbhI,8990
|
|
10
10
|
virgo_modules/src/edge_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
virgo_modules/src/edge_utils/conformal_utils.py,sha256=WK54ctvdnFrCAv3_slFBC71Ojy9xgC1wODR7xmvXGgg,3743
|
|
12
|
-
virgo_modules/src/edge_utils/edge_utils.py,sha256=
|
|
12
|
+
virgo_modules/src/edge_utils/edge_utils.py,sha256=7nYPLDNyKqeKIuOOwQi4wsBibzs9gP1HgYMISXJX1Y8,19522
|
|
13
13
|
virgo_modules/src/edge_utils/shap_utils.py,sha256=OMKVO-4gtOng9GeSuhEgAEQe4FF3AtqXjm-GUBLqYFc,3349
|
|
14
|
-
virgo_modules/src/edge_utils/stack_model.py,sha256=
|
|
15
|
-
virgo_modules-0.5.
|
|
16
|
-
virgo_modules-0.5.
|
|
17
|
-
virgo_modules-0.5.
|
|
18
|
-
virgo_modules-0.5.
|
|
19
|
-
virgo_modules-0.5.
|
|
14
|
+
virgo_modules/src/edge_utils/stack_model.py,sha256=QqE91uLo2KauGEj91AVNANB1xE7J4Fa49YOX7k5mFng,4257
|
|
15
|
+
virgo_modules-0.5.1.dist-info/LICENSE,sha256=pNgFyCYgmimaw0o6V20JupZLROycAnOA_HDDh1tX2V4,1097
|
|
16
|
+
virgo_modules-0.5.1.dist-info/METADATA,sha256=cDHMIPEJe-YznvEfgdToAL6GsMIrcrB0ti9sTjPlhcw,876
|
|
17
|
+
virgo_modules-0.5.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
18
|
+
virgo_modules-0.5.1.dist-info/top_level.txt,sha256=ZjI-qEkDtT-8mFwGAWnXfqPOKEGlIhWRW1es1VyXc60,14
|
|
19
|
+
virgo_modules-0.5.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|