def error_norm(self, comp_cov, norm="frobenius", scaling=True, squared=True): """Compute the Mean Squared Error between two covariance estimators. (In the sense of the Frobenius norm). Parameters ---------- comp_cov : array-like, shape = [n_features, n_features] The covariance to compare with. norm : str The type of norm used to compute the error. Available error types: - 'frobenius' (default): sqrt(tr(A^t.A)) - 'spectral': sqrt(max(eigenvalues(A^t.A)) where A is the error ``(comp_cov - self.covariance_)``. scaling : bool If True (default), the squared error norm is divided by n_features. If False, the squared error norm is not rescaled. squared : bool Whether to compute the squared error norm or the error norm. If True (default), the squared error norm is returned. If False, the error norm is returned. Returns ------- The Mean Squared Error (in the sense of the Frobenius norm) between `self` and `comp_cov` covariance estimators. """ return error_norm_time(self.covariance_, comp_cov, norm=norm, scaling=scaling, squared=squared)
def set_results( vs, model, name, i, labels_true, labels_pred, thetas_true_sparse, thetas_true_rep, obs_precs_sparse, obs_precs, tac): th = name in ['wp', 'ticc'] vs.setdefault((name, i), {}).setdefault('model', []).append(model) vs.setdefault( (name, i), {}).setdefault('v_measure', []).append(v_measure_score(labels_true, labels_pred)) vs.setdefault((name, i), {}).setdefault('structure_error', []).append( structure_error( thetas_true_sparse, obs_precs_sparse, no_diagonal=True, thresholding=th, eps=1e-5)) vs.setdefault( (name, i), {}).setdefault('error_norm', []).append(error_norm_time(thetas_true_rep, obs_precs)) vs.setdefault((name, i), {}).setdefault('error_norm_sparse', []).append( error_norm_time(thetas_true_sparse, obs_precs_sparse)) vs.setdefault((name, i), {}).setdefault('time', []).append(tac)
def test_error_norm_time(): """Test error_norm_time function.""" a = np.arange(27).reshape(3, 3, 3) a += a.T assert_equal(utils.error_norm_time(a, a), 0)