Skip to content

Commit 22a4c04

Browse files
committed
test CICD after merging
1 parent c8fbd1c commit 22a4c04

File tree

16 files changed

+146
-188
lines changed

16 files changed

+146
-188
lines changed

.flake8

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
[flake8]
22
exclude = .git,__pycache__,.vscode,tests
33
max-line-length=99
4-
ignore=E302,E305,W503,E203,E203,E731,E402,E501,E266
4+
ignore=E302,E305,W503,E203,E731,E402,E501,E266,E712,F401,F821
55
indent-size = 4
66
per-file-ignores=
7-
qolmat/imputations/models.py:F401
7+
qolmat/imputations/imputers.py:F401
88
*/__init__.py:F401
9+
examples/test.py:F401

.pre-commit-config.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,3 @@ repos:
2020
rev: 4.0.1
2121
hooks:
2222
- id: flake8
23-
exclude: (tests/)
24-
args:
25-
- --max-line-length=99
26-
- --ignore=E302,E305,W503,E203,E203,E731,E402
27-
- --per-file-ignores=
28-
- */__init__.py:F401
29-
- qolmat/imputations/models.py:F401

examples/test.py

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
2-
import numpy as np
3-
import timesynth as ts # package for generating time series
4-
51
import matplotlib.pyplot as plt
2+
import numpy as np
3+
import timesynth as ts # package for generating time series
64

7-
from qolmat.utils import plot
85
from qolmat.imputations.rpca.pcp_rpca import PcpRPCA
9-
from qolmat.imputations.rpca.temporal_rpca import TemporalRPCA, OnlineTemporalRPCA
6+
from qolmat.imputations.rpca.temporal_rpca import OnlineTemporalRPCA, TemporalRPCA
7+
from qolmat.utils import plot
8+
109
np.random.seed(402)
1110

1211
################################################################################
@@ -20,9 +19,12 @@
2019

2120
n = len(samples)
2221
pc = 0.02
23-
indices_ano1 = np.random.choice(n, int(n*pc))
24-
samples[indices_ano1] = [np.random.uniform(low=2*np.min(samples), high=2*np.max(samples)) for i in range(int(n*pc))]
25-
indices = np.random.choice(n, int(n*pc))
22+
indices_ano1 = np.random.choice(n, int(n * pc))
23+
samples[indices_ano1] = [
24+
np.random.uniform(low=2 * np.min(samples), high=2 * np.max(samples))
25+
for i in range(int(n * pc))
26+
]
27+
indices = np.random.choice(n, int(n * pc))
2628
samples[indices] = np.nan
2729

2830

@@ -36,19 +38,29 @@
3638
samples2, signals2, errors2 = timeseries.sample(irregular_time_samples)
3739

3840
n2 = len(samples2)
39-
indices_ano2 = np.random.choice(n2, int(n*pc))
40-
samples2[indices_ano2] = [np.random.uniform(low=2*np.min(samples2), high=2*np.max(samples2)) for i in range(int(n2*pc))]
41-
indices = np.random.choice(n2, int(n*pc))
41+
indices_ano2 = np.random.choice(n2, int(n * pc))
42+
samples2[indices_ano2] = [
43+
np.random.uniform(low=2 * np.min(samples2), high=2 * np.max(samples2))
44+
for i in range(int(n2 * pc))
45+
]
46+
indices = np.random.choice(n2, int(n * pc))
4247
samples2[indices] = np.nan
4348

4449
samples += samples2
4550
signals += signals2
4651
errors += errors2
4752

4853

49-
50-
online_temp_rpca = OnlineTemporalRPCA(n_rows=25, tau=1, lam=0.3, list_periods=[20], list_etas=[0.01],
51-
burnin=0.2, online_list_etas=[0.3], nwin=20)
54+
online_temp_rpca = OnlineTemporalRPCA(
55+
n_rows=25,
56+
tau=1,
57+
lam=0.3,
58+
list_periods=[20],
59+
list_etas=[0.01],
60+
burnin=0.2,
61+
online_list_etas=[0.3],
62+
nwin=20,
63+
)
5264
X, A = online_temp_rpca.fit_transform(X=samples)
5365
plot.plot_sig
5466
nal([samples, X, A], style="matplotlib")

qolmat/benchmark/comparator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ def compare(self, df: pd.DataFrame, verbose: bool = True):
150150
print(f"Tested model: {type(imputer).__name__}")
151151

152152
search_params = self.search_params.get(name, {})
153-
153+
154154
# if imputer.columnwise:
155155
# if len(self.selected_columns) > 0:
156156
# search_params = {}

qolmat/benchmark/cross_validation.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ def objective(self, X):
123123
_type_
124124
objective function
125125
"""
126+
126127
@skopt.utils.use_named_args(self.list_spaces)
127128
def obj_func(**hyperparams_flat):
128129
self.imputer.hyperparams_optim = self.deflat_hyperparams(hyperparams_flat)
@@ -135,11 +136,11 @@ def obj_func(**hyperparams_flat):
135136
df_corrupted[df_mask] = np.nan
136137
cols_with_nans = X.columns[X.isna().any(axis=0)].tolist()
137138
imputed = self.imputer.fit_transform(df_corrupted)
138-
139+
139140
error = self.loss_function(
140141
df_origin.loc[:, cols_with_nans],
141142
imputed.loc[:, cols_with_nans],
142-
df_mask.loc[:, cols_with_nans]
143+
df_mask.loc[:, cols_with_nans],
143144
)
144145
errors.append(error)
145146

qolmat/benchmark/utils.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323

2424

2525
def get_dimension(dict_bounds: Dict, name_dimension: str) -> Dimension:
26-
if dict_bounds["type"] == "Integer":
27-
return Integer(low=dict_bounds["min"], high=dict_bounds["max"], name=name_dimension)
28-
elif dict_bounds["type"] == "Real":
29-
return Real(low=dict_bounds["min"], high=dict_bounds["max"], name=name_dimension)
30-
elif dict_bounds["type"] == "Categorical":
31-
return Categorical(categories=dict_bounds["categories"], name=name_dimension)
26+
if dict_bounds["type"] == "Integer":
27+
return Integer(low=dict_bounds["min"], high=dict_bounds["max"], name=name_dimension)
28+
elif dict_bounds["type"] == "Real":
29+
return Real(low=dict_bounds["min"], high=dict_bounds["max"], name=name_dimension)
30+
elif dict_bounds["type"] == "Categorical":
31+
return Categorical(categories=dict_bounds["categories"], name=name_dimension)
3232

3333

3434
def get_search_space(search_params: Dict) -> List[Dimension]:
@@ -187,10 +187,7 @@ def wasser_distance(
187187
wasserstein distances : pd.Series
188188
"""
189189
cols = df1.columns.tolist()
190-
wd = [
191-
scipy.stats.wasserstein_distance(df1[col].dropna(), df2[col].dropna())
192-
for col in cols
193-
]
190+
wd = [scipy.stats.wasserstein_distance(df1[col].dropna(), df2[col].dropna()) for col in cols]
194191
return pd.Series(wd, index=cols)
195192

196193

0 commit comments

Comments
 (0)