Skip to content

Commit f38d62d

Browse files
authored
[ENH] Normalise/TimeSeriesScaler reconciliation (#2289)
* normalise reconciliation * split classes * refactor TimeSeriesScalar * notebook * Standardizer - Centerer * Standardizer - Centerer * corrections * corrections
1 parent 23f42d3 commit f38d62d

File tree

16 files changed

+771
-678
lines changed

16 files changed

+771
-678
lines changed

aeon/classification/compose/tests/test_pipeline.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
from aeon.transformations.collection import (
2121
AutocorrelationFunctionTransformer,
2222
HOG1DTransformer,
23+
Normalizer,
2324
Padder,
2425
Tabularizer,
25-
TimeSeriesScaler,
2626
)
2727
from aeon.transformations.collection.feature_based import SevenNumberSummary
2828

@@ -110,7 +110,7 @@ def test_unequal_tag_inference():
110110

111111
t1 = SevenNumberSummary()
112112
t2 = Padder()
113-
t3 = TimeSeriesScaler()
113+
t3 = Normalizer()
114114
t4 = AutocorrelationFunctionTransformer(n_lags=5)
115115
t5 = StandardScaler()
116116
t6 = Tabularizer()
@@ -181,7 +181,7 @@ def test_missing_tag_inference():
181181
t1 = t1.set_tags(
182182
**{"capability:missing_values": True, "removes_missing_values": True}
183183
)
184-
t2 = TimeSeriesScaler()
184+
t2 = Normalizer()
185185
t3 = StandardScaler()
186186
t4 = Tabularizer()
187187

@@ -230,7 +230,7 @@ def test_multivariate_tag_inference():
230230
X, y = make_example_3d_numpy(n_cases=10, n_channels=2, n_timepoints=12)
231231

232232
t1 = SevenNumberSummary()
233-
t2 = TimeSeriesScaler()
233+
t2 = Normalizer()
234234
t3 = HOG1DTransformer()
235235
t4 = StandardScaler()
236236

aeon/classification/dictionary_based/_redcomets.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from sklearn.utils import check_random_state
1818

1919
from aeon.classification.base import BaseClassifier
20-
from aeon.transformations.collection import TimeSeriesScaler
20+
from aeon.transformations.collection import Normalizer
2121
from aeon.transformations.collection.dictionary_based import SAX, SFA
2222
from aeon.utils.validation._dependencies import _check_soft_dependencies
2323

@@ -201,7 +201,7 @@ def _build_univariate_ensemble(self, X, y):
201201

202202
from imblearn.over_sampling import SMOTE, RandomOverSampler
203203

204-
X = TimeSeriesScaler().fit_transform(X).squeeze()
204+
X = Normalizer().fit_transform(X).squeeze()
205205

206206
if self.variant in [1, 2, 3]:
207207
perc_length = self.perc_length / self._n_channels
@@ -411,7 +411,7 @@ def _predict_proba_unvivariate(self, X) -> np.ndarray:
411411
2D np.ndarray of shape (n_cases, n_classes_)
412412
Predicted probabilities using the ordering in ``classes_``.
413413
"""
414-
X = TimeSeriesScaler().fit_transform(X).squeeze()
414+
X = Normalizer().fit_transform(X).squeeze()
415415

416416
pred_mat = np.zeros((X.shape[0], self.n_classes_))
417417

@@ -455,7 +455,7 @@ def _predict_proba_dimension_ensemble(self, X) -> np.ndarray:
455455
2D np.ndarray of shape (n_cases, n_classes_)
456456
Predicted probabilities using the ordering in ``classes_``.
457457
"""
458-
X = TimeSeriesScaler().fit_transform(X)
458+
X = Normalizer().fit_transform(X)
459459

460460
ensemble_pred_mats = None
461461

aeon/clustering/compose/tests/test_pipeline.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
from aeon.transformations.collection import (
1919
AutocorrelationFunctionTransformer,
2020
HOG1DTransformer,
21+
Normalizer,
2122
Padder,
2223
Tabularizer,
23-
TimeSeriesScaler,
2424
)
2525
from aeon.transformations.collection.feature_based import SevenNumberSummary
2626

@@ -109,7 +109,7 @@ def test_unequal_tag_inference():
109109

110110
t1 = SevenNumberSummary()
111111
t2 = Padder()
112-
t3 = TimeSeriesScaler()
112+
t3 = Normalizer()
113113
t4 = AutocorrelationFunctionTransformer(n_lags=5)
114114
t5 = StandardScaler()
115115
t6 = Tabularizer()
@@ -179,7 +179,7 @@ def test_missing_tag_inference():
179179

180180
t1 = MockCollectionTransformer()
181181
t1.set_tags(**{"capability:missing_values": True, "removes_missing_values": True})
182-
t2 = TimeSeriesScaler()
182+
t2 = Normalizer()
183183
t3 = StandardScaler()
184184
t4 = Tabularizer()
185185

@@ -229,7 +229,7 @@ def test_multivariate_tag_inference():
229229
X, y = make_example_3d_numpy(n_cases=10, n_channels=2, n_timepoints=12)
230230

231231
t1 = SevenNumberSummary()
232-
t2 = TimeSeriesScaler()
232+
t2 = Normalizer()
233233
t3 = HOG1DTransformer()
234234
t4 = StandardScaler()
235235

aeon/regression/compose/tests/test_pipeline.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
from aeon.transformations.collection import (
2121
AutocorrelationFunctionTransformer,
2222
HOG1DTransformer,
23+
Normalizer,
2324
Padder,
2425
Tabularizer,
25-
TimeSeriesScaler,
2626
)
2727
from aeon.transformations.collection.feature_based import SevenNumberSummary
2828

@@ -110,7 +110,7 @@ def test_unequal_tag_inference():
110110

111111
t1 = SevenNumberSummary()
112112
t2 = Padder()
113-
t3 = TimeSeriesScaler()
113+
t3 = Normalizer()
114114
t4 = AutocorrelationFunctionTransformer(n_lags=5)
115115
t5 = StandardScaler()
116116
t6 = Tabularizer()
@@ -179,7 +179,7 @@ def test_missing_tag_inference():
179179

180180
t1 = MockCollectionTransformer()
181181
t1.set_tags(**{"capability:missing_values": True, "removes_missing_values": True})
182-
t2 = TimeSeriesScaler()
182+
t2 = Normalizer()
183183
t3 = StandardScaler()
184184
t4 = Tabularizer()
185185

@@ -230,7 +230,7 @@ def test_multivariate_tag_inference():
230230
)
231231

232232
t1 = SevenNumberSummary()
233-
t2 = TimeSeriesScaler()
233+
t2 = Normalizer()
234234
t3 = HOG1DTransformer()
235235
t4 = StandardScaler()
236236

aeon/testing/estimator_checking/tests/test_check_estimator.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
)
1616
from aeon.testing.mock_estimators._mock_anomaly_detectors import MockAnomalyDetector
1717
from aeon.testing.utils.deep_equals import deep_equals
18-
from aeon.transformations.collection import TimeSeriesScaler
18+
from aeon.transformations.collection import Normalizer
1919

2020
test_classes = [
2121
MockClassifier,
@@ -24,7 +24,7 @@
2424
MockSegmenter,
2525
MockAnomalyDetector,
2626
# MockMultivariateSeriesTransformer,
27-
TimeSeriesScaler,
27+
Normalizer,
2828
MockClassifierParams,
2929
]
3030
test_classes = {c.__name__: c for c in test_classes}

aeon/transformations/collection/__init__.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,21 @@
66
# transformers
77
"AutocorrelationFunctionTransformer",
88
"ARCoefficientTransformer",
9+
"Centerer",
910
"DownsampleTransformer",
1011
"ElbowClassSum",
1112
"ElbowClassPairwise",
1213
"DWTTransformer",
1314
"HOG1DTransformer",
1415
"MatrixProfile",
16+
"MinMaxScaler",
17+
"Normalizer",
1518
"Padder",
1619
"PeriodogramTransformer",
17-
"Tabularizer",
1820
"Resizer",
1921
"SlopeTransformer",
20-
"TimeSeriesScaler",
2122
"Truncator",
22-
"Normalise",
23+
"Tabularizer",
2324
]
2425

2526
from aeon.transformations.collection._acf import AutocorrelationFunctionTransformer
@@ -28,12 +29,11 @@
2829
from aeon.transformations.collection._dwt import DWTTransformer
2930
from aeon.transformations.collection._hog1d import HOG1DTransformer
3031
from aeon.transformations.collection._matrix_profile import MatrixProfile
31-
from aeon.transformations.collection._normalise import Normalise
3232
from aeon.transformations.collection._pad import Padder
3333
from aeon.transformations.collection._periodogram import PeriodogramTransformer
3434
from aeon.transformations.collection._reduce import Tabularizer
35+
from aeon.transformations.collection._rescale import Centerer, MinMaxScaler, Normalizer
3536
from aeon.transformations.collection._resize import Resizer
36-
from aeon.transformations.collection._scaler import TimeSeriesScaler
3737
from aeon.transformations.collection._slope import SlopeTransformer
3838
from aeon.transformations.collection._truncate import Truncator
3939
from aeon.transformations.collection.base import BaseCollectionTransformer

aeon/transformations/collection/_normalise.py

-93
This file was deleted.

0 commit comments

Comments
 (0)