26binaryRocAuc(
const Eigen::VectorXd& scores,
const Eigen::VectorXd& labels);
31 const Eigen::VectorXd& labels,
32 const Eigen::VectorXd& observation_weights);
48rocAuc(
const Eigen::MatrixXd& scores,
const Eigen::MatrixXd& labels);
53 const Eigen::MatrixXd& labels,
54 const Eigen::VectorXd& observation_weights);
67 virtual ~Score() =
default;
75 virtual bool isWorse(
double other,
double current)
const = 0;
96 virtual double eval(
const Eigen::MatrixXd& eta,
97 const Eigen::MatrixXd& y,
98 const std::unique_ptr<Loss>& loss)
const = 0;
107 virtual double eval(
const Eigen::MatrixXd& eta,
108 const Eigen::MatrixXd& y,
109 const std::unique_ptr<Loss>& loss,
110 const Eigen::VectorXd& observation_weights)
const;
117 static std::unique_ptr<Score>
create(
const std::string& metric);
136 bool isWorse(
double a,
double b)
const override;
161 bool isWorse(
double a,
double b)
const override;
192 double eval(
const Eigen::MatrixXd& eta,
193 const Eigen::MatrixXd& y,
194 const std::unique_ptr<Loss>&)
const override;
196 double eval(
const Eigen::MatrixXd& eta,
197 const Eigen::MatrixXd& y,
198 const std::unique_ptr<Loss>& loss,
199 const Eigen::VectorXd& observation_weights)
const override;
227 double eval(
const Eigen::MatrixXd& eta,
228 const Eigen::MatrixXd& y,
229 const std::unique_ptr<Loss>&)
const override;
231 double eval(
const Eigen::MatrixXd& eta,
232 const Eigen::MatrixXd& y,
233 const std::unique_ptr<Loss>& loss,
234 const Eigen::VectorXd& observation_weights)
const override;
260 double eval(
const Eigen::MatrixXd& eta,
261 const Eigen::MatrixXd& y,
262 const std::unique_ptr<Loss>& loss)
const override;
264 double eval(
const Eigen::MatrixXd& eta,
265 const Eigen::MatrixXd& y,
266 const std::unique_ptr<Loss>& loss,
267 const Eigen::VectorXd& observation_weights)
const override;
295 double eval(
const Eigen::MatrixXd& eta,
296 const Eigen::MatrixXd& y,
297 const std::unique_ptr<Loss>& loss)
const override;
299 double eval(
const Eigen::MatrixXd& eta,
300 const Eigen::MatrixXd& y,
301 const std::unique_ptr<Loss>& loss,
302 const Eigen::VectorXd& observation_weights)
const override;
326 double eval(
const Eigen::MatrixXd& eta,
327 const Eigen::MatrixXd& y,
328 const std::unique_ptr<Loss>& loss)
const override;
330 double eval(
const Eigen::MatrixXd& eta,
331 const Eigen::MatrixXd& y,
332 const std::unique_ptr<Loss>& loss,
333 const Eigen::VectorXd& observation_weights)
const override;
363 double eval(
const Eigen::MatrixXd& eta,
364 const Eigen::MatrixXd& y,
365 const std::unique_ptr<Loss>& loss)
const override;
367 double eval(
const Eigen::MatrixXd& eta,
368 const Eigen::MatrixXd& y,
369 const std::unique_ptr<Loss>& loss,
370 const Eigen::VectorXd& observation_weights)
const override;
Area Under the ROC Curve (AUC-ROC) scoring metric.
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss, const Eigen::VectorXd &observation_weights) const override
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss) const override
Classification Accuracy scoring metric.
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss) const override
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss, const Eigen::VectorXd &observation_weights) const override
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss, const Eigen::VectorXd &observation_weights) const override
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss) const override
Mean Absolute Error (MAE) scoring metric.
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss, const Eigen::VectorXd &observation_weights) const override
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &) const override
Mean Squared Error (MSE) scoring metric.
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss, const Eigen::VectorXd &observation_weights) const override
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &) const override
Scoring metric that aims to maximize the score value.
bool isWorse(double a, double b) const override
double initValue() const override
Scoring metric that aims to minimize the score value.
double initValue() const override
bool isWorse(double a, double b) const override
Misclassification Rate scoring metric.
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss, const Eigen::VectorXd &observation_weights) const override
double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss) const override
Base class for scoring metrics used in regularized generalized linear regression.
std::function< bool(double, double)> getComparator() const
virtual double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss, const Eigen::VectorXd &observation_weights) const
virtual bool isWorse(double other, double current) const =0
static std::unique_ptr< Score > create(const std::string &metric)
virtual double eval(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const std::unique_ptr< Loss > &loss) const =0
virtual double initValue() const =0
The declartion of the Objctive class and its subclasses, which represent the data-fitting part of the...
Namespace containing SLOPE regression implementation.
double binaryRocAuc(const Eigen::VectorXd &scores, const Eigen::VectorXd &labels)
double rocAuc(const Eigen::MatrixXd &scores, const Eigen::MatrixXd &labels)