rlrocha commited on
Commit
b7cedfb
1 Parent(s): 6f6b387

add data module

Browse files
Files changed (2) hide show
  1. src/data/.gitkeep +0 -0
  2. src/data/processing.py +48 -0
src/data/.gitkeep ADDED
File without changes
src/data/processing.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+
3
+ class Scaler():
4
+
5
+ def __init__(self, scaler='standard', range=(0,1)):
6
+
7
+ if not scaler.lower() in ['minmax', 'standard']:
8
+ raise ValueError('Incorrect scaler. Please choose between minmax and standard.')
9
+
10
+ self.scaler = scaler.lower()
11
+ self.min = range[0]
12
+ self.max = range[1]
13
+
14
+ def fit(self, X):
15
+
16
+ if self.scaler == 'minmax':
17
+ self.data_min = np.nanmin(X)
18
+ self.data_max = np.nanmax(X)
19
+
20
+ else:
21
+ self.data_mean = np.nanmean(X)
22
+ self.data_std = np.nanstd(X)
23
+
24
+ return self
25
+
26
+ def transform(self, X):
27
+
28
+ X = X.copy()
29
+
30
+ if self.scaler == 'minmax':
31
+ X = (X-self.data_min)/(self.data_max - self.data_min)*(self.max-self.min) + self.min
32
+
33
+ else:
34
+ X = (X-self.data_mean)/self.data_std
35
+
36
+ return X
37
+
38
+ def inverse_transform(self, X):
39
+
40
+ X = X.copy()
41
+
42
+ if self.scaler == 'minmax':
43
+ X = ((X-self.min)*(self.data_max-self.data_min)/(self.max-self.min)) + self.data_min
44
+
45
+ else:
46
+ X = X*self.data_std + self.data_mean
47
+
48
+ return X