1
0
Fork 0
mirror of https://github.com/Findus23/collision-analyisis-and-interpolation.git synced 2024-09-19 15:13:50 +02:00
collision-analyisis-and-int.../CustomScaler.py

32 lines
947 B
Python
Raw Normal View History

2019-05-02 14:12:06 +02:00
from typing import List
import numpy as np
class CustomScaler:
def __init__(self):
self.means = None
self.stds = None
def fit(self, data: np.ndarray) -> None:
self.means = np.mean(data, 0)
self.stds = np.std(data, 0)
2019-07-06 15:50:16 +02:00
# print(self.means)
# print(self.stds)
2019-05-02 14:12:06 +02:00
def _check_fitted(self):
if (self.means is None) or (self.stds is None):
raise Exception("you need to first fit data")
def transform_data(self, data: np.ndarray) -> np.ndarray:
self._check_fitted()
return (data - self.means) / self.stds
# return data
def transform_parameters(self, parameters: List) -> List:
self._check_fitted()
if len(parameters) != len(self.means):
raise ValueError("incorrect number of parameters")
for index, parameter in enumerate(parameters):
yield (parameter - self.means[index]) / self.stds[index]