LogisticRegression¶
- class getml.predictors.LogisticRegression(learning_rate: float = 0.9, reg_lambda: float = 1e-10)[source]¶
Simple predictor for classification problems.
Learns a simple linear relationship using the sigmoid function:
\[\hat{y} = \sigma(w_0 + w_1 * feature_1 + w_2 * feature_2 + ...)\]\(\sigma\) denotes the sigmoid function:
\[\sigma(z) = \frac{1}{1 + exp(-z)}\]The weights are optimized by minimizing the cross entropy loss of the predictions \(\hat{y}\) w.r.t. the targets \(y\).
\[L(\hat{y},y) = - y*\log \hat{y} - (1 - y)*\log(1 - \hat{y})\]Logistic regressions are always trained numerically.
If you decide to pass categorical features to the
LogisticRegression
, it will be trained using the Broyden-Fletcher-Goldfarb-Shannon (BFGS) algorithm. Otherwise, it will be trained using adaptive moments (Adam). BFGS is more accurate, but less scalable than Adam.- Args:
- learning_rate (float, optional):
The learning rate used for the Adaptive Moments algorithm (only relevant when categorical features are included). Range: (0, \(\infty\)]
- reg_lambda (float, optional):
L2 regularization parameter. Range: [0, \(\infty\)]
Methods
validate
([params])Checks both the types and the values of all instance variables and raises an exception if something is off.
Attributes