diff --git a/code/bolsonaro/models/omp_forest.py b/code/bolsonaro/models/omp_forest.py index e4a5667b0d759fe1344fe14bb89dcf601c14f610..6c9a3f91587ac6b34cf17f47c6b46d5bb8ce9c54 100644 --- a/code/bolsonaro/models/omp_forest.py +++ b/code/bolsonaro/models/omp_forest.py @@ -123,7 +123,9 @@ class SingleOmpForest(OmpForest): forest_predictions = self._base_estimator_predictions(X) if self._models_parameters.normalize_D: + forest_predictions = forest_predictions.T forest_predictions /= self._forest_norms + forest_predictions = forest_predictions.T return self._make_omp_weighted_prediction(forest_predictions, self._omp, self._models_parameters.normalize_weights) @@ -139,7 +141,9 @@ class SingleOmpForest(OmpForest): forest_predictions = self._base_estimator_predictions(X).T if self._models_parameters.normalize_D: + forest_predictions = forest_predictions.T forest_predictions /= self._forest_norms + forest_predictions = forest_predictions.T weights = self._omp.coef_ omp_trees_indices = np.nonzero(weights)[0] diff --git a/code/bolsonaro/models/omp_forest_classifier.py b/code/bolsonaro/models/omp_forest_classifier.py index a51405a6a3278bb86dd52d011b599175bbfc7482..3cb250de23870a707199048eb6842179399a3de6 100644 --- a/code/bolsonaro/models/omp_forest_classifier.py +++ b/code/bolsonaro/models/omp_forest_classifier.py @@ -37,7 +37,9 @@ class OmpForestBinaryClassifier(SingleOmpForest): forest_predictions = np.array([tree.predict_proba(X) for tree in self._base_forest_estimator.estimators_]) if self._models_parameters.normalize_D: + forest_predictions = forest_predictions.T forest_predictions /= self._forest_norms + forest_predictions = forest_predictions.T weights = self._omp.coef_ omp_trees_indices = np.nonzero(weights) @@ -119,7 +121,9 @@ class OmpForestMulticlassClassifier(OmpForest): forest_predictions = np.array([tree.predict_proba(X) for tree in self._base_forest_estimator.estimators_]).T if self._models_parameters.normalize_D: + forest_predictions = forest_predictions.T forest_predictions /= self._forest_norms + forest_predictions = forest_predictions.T label_names = [] preds = [] diff --git a/code/compute_results.py b/code/compute_results.py index 406f0e0636111add9f3cb6075fe26fd91ff3cf4d..a6eb2f5fb3e6a9326a126fb609614c9d8a8bffcd 100644 --- a/code/compute_results.py +++ b/code/compute_results.py @@ -389,7 +389,7 @@ if __name__ == "__main__": raise ValueError('Score metrics of all experiments must be the same.') experiments_score_metric = base_with_params_experiment_score_metric - output_path = os.path.join(args.results_dir, args.dataset_name, 'stage4_fix') + output_path = os.path.join(args.results_dir, args.dataset_name, 'stage4') pathlib.Path(output_path).mkdir(parents=True, exist_ok=True) Plotter.plot_stage2_losses(