slope 6.6.0
Loading...
Searching...
No Matches
logistic.h
Go to the documentation of this file.
1
5
6#pragma once
7
8#include "loss.h"
9
10namespace slope {
18class Logistic : public Loss
19{
20public:
21 explicit Logistic()
22 : Loss(0.25)
23 {
24 }
25
32 double loss(const Eigen::MatrixXd& eta, const Eigen::MatrixXd& y) override;
33
34 double loss(const Eigen::MatrixXd& eta,
35 const Eigen::MatrixXd& y,
36 const Eigen::VectorXd& observation_weights) override;
37
45 double dual(const Eigen::MatrixXd& theta,
46 const Eigen::MatrixXd& y,
47 const Eigen::VectorXd& w) override;
48
49 Eigen::MatrixXd dualPoint(const Eigen::MatrixXd& eta,
50 const Eigen::MatrixXd& y,
51 bool fit_intercept) override;
52
53 Eigen::MatrixXd dualPoint(
54 const Eigen::MatrixXd& eta,
55 const Eigen::MatrixXd& y,
56 bool fit_intercept,
57 const Eigen::VectorXd& observation_weights) override;
58
65 Eigen::MatrixXd hessianDiagonal(const Eigen::MatrixXd& eta) override;
66
74 Eigen::MatrixXd preprocessResponse(const Eigen::MatrixXd& y) override;
75
81 Eigen::MatrixXd link(const Eigen::MatrixXd& mu) override;
82
88 Eigen::MatrixXd inverseLink(const Eigen::MatrixXd& eta) override;
89
96 Eigen::MatrixXd predict(const Eigen::MatrixXd& eta) override;
97};
98
99} // namespace slope
Eigen::MatrixXd hessianDiagonal(const Eigen::MatrixXd &eta) override
Calculates hessian diagonal.
Eigen::MatrixXd predict(const Eigen::MatrixXd &eta) override
Return predicted response, that is 0 or 1 depending on the predicted probabilities.
Eigen::MatrixXd inverseLink(const Eigen::MatrixXd &eta) override
The inverse link function, also known as the mean function.
Eigen::MatrixXd dualPoint(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, bool fit_intercept) override
Constructs a dual candidate from a linear predictor.
Eigen::MatrixXd preprocessResponse(const Eigen::MatrixXd &y) override
Preprocesses the response for the quadratic model.
Eigen::MatrixXd dualPoint(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, bool fit_intercept, const Eigen::VectorXd &observation_weights) override
Constructs a dual candidate with weighted intercept stationarity.
double loss(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y, const Eigen::VectorXd &observation_weights) override
Calculates the loss averaged by observation weights.
double dual(const Eigen::MatrixXd &theta, const Eigen::MatrixXd &y, const Eigen::VectorXd &w) override
Calculates the dual for the logistic loss function.
double loss(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y) override
Calculates the loss for the logistic loss function.
Eigen::MatrixXd link(const Eigen::MatrixXd &mu) override
The link function.
Loss(double lipschitz_constant)
Constructs an loss function with specified Lipschitz constant.
Definition loss.h:213
The declartion of the Objctive class and its subclasses, which represent the data-fitting part of the...
Namespace containing SLOPE regression implementation.
Definition clusters.h:11