def test_valid_serialization_unfit_model(self): """For a unfitted model to_dict and from_dict are opposites.""" # Setup instance = KDEUnivariate() # Run result = KDEUnivariate.from_dict(instance.to_dict()) # Check assert instance.to_dict() == result.to_dict()
def test_valid_serialization_fit_model(self): """For a fitted model to_dict and from_dict are opposites.""" # Setup instance = KDEUnivariate() X = np.array([1, 2, 3, 4]) instance.fit(X) # Run result = KDEUnivariate.from_dict(instance.to_dict()) # Check assert instance.to_dict() == result.to_dict()
def from_dict(cls, vine_dict): instance = cls(vine_dict['vine_type']) fitted = vine_dict['fitted'] if fitted: instance.fitted = fitted instance.n_sample = vine_dict['n_sample'] instance.n_var = vine_dict['n_var'] instance.truncated = vine_dict['truncated'] instance.depth = vine_dict['depth'] instance.trees = cls._deserialize_trees(vine_dict['trees']) instance.unis = [KDEUnivariate.from_dict(uni) for uni in vine_dict['unis']] instance.tau_mat = np.array(vine_dict['tau_mat']) instance.u_matrix = np.array(vine_dict['u_matrix']) return instance
def test_from_dict(self): """From_dict sets the values of a dictionary as attributes of the instance.""" # Setup distribution = KDEUnivariate() parameters = { 'd': 1, 'n': 10, 'dataset': [[ 0.4967141530112327, -0.13826430117118466, 0.6476885381006925, 1.5230298564080254, -0.23415337472333597, -0.23413695694918055, 1.5792128155073915, 0.7674347291529088, -0.4694743859349521, 0.5425600435859647 ]], 'covariance': [[0.2081069604419522]], 'factor': 0.6309573444801932, 'inv_cov': [[4.805221304834407]] } # Run distribution = KDEUnivariate.from_dict(parameters) # Check assert distribution.model.d == 1 assert distribution.model.n == 10 assert distribution.model.covariance == np.array([[0.2081069604419522]]) assert distribution.model.factor == 0.6309573444801932 assert distribution.model.inv_cov == np.array([[4.805221304834407]]) assert (distribution.model.dataset == np.array([[ 0.4967141530112327, -0.13826430117118466, 0.6476885381006925, 1.5230298564080254, -0.23415337472333597, -0.23413695694918055, 1.5792128155073915, 0.7674347291529088, -0.4694743859349521, 0.5425600435859647 ]])).all()