lightning.classification.SDCAClassifier

class lightning.classification.SDCAClassifier(alpha=1.0, l1_ratio=0, loss='hinge', gamma=1.0, max_iter=100, tol=0.001, callback=None, n_calls=None, verbose=0, random_state=None)[source]

Estimator for learning linear classifiers by (proximal) SDCA.

Solves the following objective:

minimize_w 1 / n_samples * sum_i loss(w^T x_i, y_i)
  • alpha * l1_ratio * ||w||_1
  • alpha * (1 - l1_ratio) * 0.5 * ||w||^2_2
Parameters:

loss: string, {‘squared’, ‘absolute’, ‘hinge’, ‘smooth_hinge’, ‘squared_hinge’} :

Loss function to use in the model.

alpha: float :

Amount of regularization (see model formulation above).

l1_ratio: float :

Ratio between the L1 and L2 regularization (see model formulation above).

gamma : float

gamma parameter in the “smooth_hinge” loss (not used for other loss functions)

tol : float

stopping criterion tolerance.

max_iter : int

maximum number of outer iterations (also known as epochs).

verbose : int

verbosity level. Set positive to print progress information.

callback : callable or None

if given, callback(self) will be called on each outer iteration (epoch).

random_state: int or RandomState :

Pseudo-random number generator state used for random sampling.

Methods

decision_function(X)
fit(X, y)
get_params([deep]) Get parameters for this estimator.
n_nonzero([percentage])
predict(X)
score(X, y[, sample_weight]) Returns the mean accuracy on the given test data and labels.
set_params(**params) Set the parameters of this estimator.
__init__(alpha=1.0, l1_ratio=0, loss='hinge', gamma=1.0, max_iter=100, tol=0.001, callback=None, n_calls=None, verbose=0, random_state=None)[source]
get_params(deep=True)

Get parameters for this estimator.

Parameters:

deep: boolean, optional :

If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns:

params : mapping of string to any

Parameter names mapped to their values.

score(X, y, sample_weight=None)

Returns the mean accuracy on the given test data and labels.

In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.

Parameters:

X : array-like, shape = (n_samples, n_features)

Test samples.

y : array-like, shape = (n_samples) or (n_samples, n_outputs)

True labels for X.

sample_weight : array-like, shape = [n_samples], optional

Sample weights.

Returns:

score : float

Mean accuracy of self.predict(X) wrt. y.

set_params(**params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Returns:self :