Brush C++ API
A flexible interpretable machine learning framework
Loading...
Searching...
No Matches
metrics.h
Go to the documentation of this file.
1#ifndef METRICS_H
2#define METRICS_H
3
4#include "../data/data.h"
5#include "../util/utils.h"
6
7namespace Brush {
12namespace Eval {
13
14/* Scoring functions */
15
16// regression ------------------------------------------------------------------
17
26float mse(const VectorXf& y, const VectorXf& yhat, VectorXf& loss,
27 const vector<float>& class_weights=vector<float>() );
28
29// binary classification -------------------------------------------------------
30
38VectorXf log_loss(const VectorXf& y, const VectorXf& predict_proba,
39 const vector<float>& class_weights=vector<float>());
40
49float mean_log_loss(const VectorXf& y, const VectorXf& predict_proba, VectorXf& loss,
50 const vector<float>& class_weights = vector<float>());
51
60float average_precision_score(const VectorXf& y, const VectorXf& predict_proba,
61 VectorXf& loss,
62 const vector<float>& class_weights=vector<float>());
63
72float zero_one_loss(const VectorXf& y, const VectorXf& predict_proba,
73 VectorXf& loss,
74 const vector<float>& class_weights=vector<float>() );
75
84float bal_zero_one_loss(const VectorXf& y, const VectorXf& predict_proba,
85 VectorXf& loss,
86 const vector<float>& class_weights=vector<float>() );
87
99float precision_score(const VectorXf& y, const VectorXf& predict_proba,
100 VectorXf& loss,
101 const vector<float>& class_weights=vector<float>() );
102
113float recall_score(const VectorXf& y, const VectorXf& predict_proba,
114 VectorXf& loss,
115 const vector<float>& class_weights=vector<float>() );
116
128float roc_auc_score(const VectorXf& y, const VectorXf& predict_proba,
129 VectorXf& loss,
130 const vector<float>& class_weights=vector<float>() );
131
132// multiclass classification ---------------------------------------------------
133
141VectorXf multi_log_loss(const VectorXf& y, const ArrayXXf& predict_proba,
142 const vector<float>& class_weights=vector<float>());
143
152float mean_multi_log_loss(const VectorXf& y, const ArrayXXf& predict_proba,
153 VectorXf& loss,
154 const vector<float>& class_weights=vector<float>());
155
164float multi_zero_one_loss(const VectorXf& y, const ArrayXXf& predict_proba,
165 VectorXf& loss,
166 const vector<float>& class_weights=vector<float>() );
167
169float multi_bal_zero_one_loss(const VectorXf& y, const ArrayXXf& predict_proba,
170 VectorXf& loss,
171 const vector<float>& class_weights=vector<float>() );
172
179float multi_precision_score(const VectorXf& y, const ArrayXXf& predict_proba,
180 VectorXf& loss,
181 const vector<float>& class_weights=vector<float>() );
182
188float multi_recall_score(const VectorXf& y, const ArrayXXf& predict_proba,
189 VectorXf& loss,
190 const vector<float>& class_weights=vector<float>() );
191
198float multi_roc_auc_score(const VectorXf& y, const ArrayXXf& predict_proba,
199 VectorXf& loss,
200 const vector<float>& class_weights=vector<float>() );
201
208float multi_average_precision_score(const VectorXf& y, const ArrayXXf& predict_proba,
209 VectorXf& loss,
210 const vector<float>& class_weights=vector<float>() );
211
212
213} // metrics
214} // Brush
215
216#endif
float multi_zero_one_loss(const VectorXf &y, const ArrayXXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Accuracy for multi-classification.
Definition metrics.cpp:438
float precision_score(const VectorXf &y, const VectorXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Precision for binary classification (threshold 0.5, positive label 1).
Definition metrics.cpp:360
float zero_one_loss(const VectorXf &y, const VectorXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Accuracy for binary classification.
Definition metrics.cpp:75
float mean_log_loss(const VectorXf &y, const VectorXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
log loss
Definition metrics.cpp:47
float multi_recall_score(const VectorXf &y, const ArrayXXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Macro-averaged recall for multi-classification.
Definition metrics.cpp:509
float mean_multi_log_loss(const VectorXf &y, const ArrayXXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Calculates the mean multinomial log loss between the predicted probabilities and the true labels.
Definition metrics.cpp:417
float average_precision_score(const VectorXf &y, const VectorXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Calculates the average precision score between the predicted probabilities and the true labels.
Definition metrics.cpp:343
float mse(const VectorXf &y, const VectorXf &yhat, VectorXf &loss, const vector< float > &class_weights)
mean squared error
Definition metrics.cpp:11
VectorXf multi_log_loss(const VectorXf &y, const ArrayXXf &predict_proba, const vector< float > &class_weights)
Calculates the multinomial log loss between the predicted probabilities and the true labels.
Definition metrics.cpp:396
float multi_bal_zero_one_loss(const VectorXf &y, const ArrayXXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Balanced accuracy for multi-classification.
Definition metrics.cpp:465
float recall_score(const VectorXf &y, const VectorXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Recall for binary classification (threshold 0.5, positive label 1).
Definition metrics.cpp:374
float multi_roc_auc_score(const VectorXf &y, const ArrayXXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Macro-averaged one-vs-rest AUROC for multi-classification.
Definition metrics.cpp:515
VectorXf log_loss(const VectorXf &y, const VectorXf &predict_proba, const vector< float > &class_weights)
Calculates the log loss between the predicted probabilities and the true labels.
Definition metrics.cpp:19
float multi_precision_score(const VectorXf &y, const ArrayXXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Macro-averaged precision for multi-classification.
Definition metrics.cpp:503
float multi_average_precision_score(const VectorXf &y, const ArrayXXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Macro-averaged one-vs-rest average precision for multi-classification.
Definition metrics.cpp:537
float bal_zero_one_loss(const VectorXf &y, const VectorXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Balanced accuracy for binary classification.
Definition metrics.cpp:102
float roc_auc_score(const VectorXf &y, const VectorXf &predict_proba, VectorXf &loss, const vector< float > &class_weights)
Area under the ROC curve for binary classification.
Definition metrics.cpp:386
< nsga2 selection operator for getting the front
Definition bandit.cpp:3
Namespace containing scoring functions for evaluation metrics.