Source code for dowhy.data_transformers.pca_reducer

from sklearn.decomposition import PCA
from sklearn.preprocessing import scale

from dowhy.data_transformer import DimensionalityReducer


[docs]class PCAReducer(DimensionalityReducer): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._do_standardize = True if "standardize" in kwargs: self._do_standardize = kwargs["standardize"]
[docs] def reduce(self): data = self._data if self._do_standardize: data = scale(self._data, axis=0) pca_model = PCA(n_components=self._ndims) reduced_data = pca_model.fit_transform(data) return reduced_data