Source code for schrodinger.application.matsci.mlearn.sklearn_json.decomposition

"""
Module for serializing and de-serializing decomposition models

Copyright Schrodinger, LLC. All rights reserved.
"""

import numpy as np
from sklearn.decomposition import PCA

from . import common


[docs]def serialize_pca(model): serialized_model = { 'meta': 'pca', 'components_': model.components_.tolist(), 'mean_': model.mean_.tolist(), 'explained_variance_': model.explained_variance_.tolist(), 'params': model.get_params() } common.serialize_params_random_state(serialized_model['params']) return serialized_model
[docs]def deserialize_pca(model_dict): common.deserialize_params_random_state(model_dict['params']) model = PCA(**model_dict['params']) model.components_ = np.array(model_dict['components_']) model.mean_ = np.array(model_dict['mean_']) model.explained_variance_ = np.array(model_dict['explained_variance_']) return model