LogisticRegressionCV#

class sklearn.linear_model.LogisticRegressionCV(*, Cs=10, l1_ratios='warn', fit_intercept=True, cv=None, dual=False, penalty='deprecated', scoring=None, solver='lbfgs', tol=0.0001, max_iter=100, class_weight=None, n_jobs=None, verbose=0, refit=True, intercept_scaling=1.0, random_state=None, use_legacy_attributes='warn')[source]#

Logistische Regression CV (auch bekannt als Logit, MaxEnt) Klassifikator.

Siehe Glossareintrag für Cross-validation-Schätzer.

Diese Klasse implementiert regulierte logistische Regression mit impliziter Kreuzvalidierung für die Parameter C und l1_ratio, siehe LogisticRegression, unter Verwendung einer Reihe von verfügbaren Lösern.

Die Löser ‘lbfgs’, ‘newton-cg’, ‘newton-cholesky’ und ‘sag’ unterstützen nur L2-Regularisierung mit primaler Formulierung. Der Löser ‘liblinear’ unterstützt sowohl L1- als auch L2-Regularisierung (aber nicht beides, d. h. Elastic-Net) mit einer dualen Formulierung nur für die L2-Strafe. Die Elastic-Net (Kombination aus L1 und L2) Regularisierung wird nur vom ‘saga’-Löser unterstützt.

Für das Gitter von Cs-Werten und l1_ratios-Werten wird der beste Hyperparameter durch den Kreuzvalidierer StratifiedKFold ausgewählt, kann aber über den cv-Parameter geändert werden. Alle Löser außer ‘liblinear’ können die Koeffizienten warm starten (siehe Glossar).

Mehr dazu im Benutzerhandbuch.

Parameter:
Csint oder Liste von Floats, Standard=10

Jeder der Werte in Cs beschreibt den Kehrwert der Regularisierungsstärke. Wenn Cs eine Ganzzahl ist, wird ein Gitter von Cs-Werten in logarithmischer Skala zwischen 1e-4 und 1e4 gewählt. Wie bei Support Vector Machines spezifizieren kleinere Werte eine stärkere Regularisierung.

l1_ratiosArray-ähnlich der Form (n_l1_ratios), Standard=None

Floats zwischen 0 und 1, die als Elastic-Net-Mischparameter (Skalierung zwischen L1- und L2-Strafen) übergeben werden. Für l1_ratio = 0 ist die Strafe eine L2-Strafe. Für l1_ratio = 1 ist es eine L1-Strafe. Für 0 < l1_ratio < 1 ist die Strafe eine Kombination aus L1 und L2. Alle Werte des gegebenen Array-ähnlichen Objekts werden per Kreuzvalidierung getestet und derjenige, der den besten Vorhersage-Score liefert, wird verwendet.

Warnung

Bestimmte Werte von l1_ratios, d. h. einige Strafen, funktionieren möglicherweise nicht mit einigen Lösern. Siehe den Parameter solver unten, um die Kompatibilität zwischen Strafe und Löser zu erfahren.

Veraltet seit Version 1.8: l1_ratios=None ist in Version 1.8 veraltet und wird in Version 1.10 einen Fehler auslösen. Der Standardwert wird sich von None zu (0.0,) in Version 1.10 ändern.

fit_interceptbool, Standardwert=True

Gibt an, ob eine Konstante (auch Bias oder Achsenabschnitt genannt) zur Entscheidungsfunktion hinzugefügt werden soll.

cvint oder Kreuzvalidierungsgenerator, Standard=None

Der standardmäßige Kreuzvalidierungsgenerator ist Stratified K-Folds. Wenn eine Ganzzahl angegeben wird, gibt sie die Anzahl der verwendeten Folds, n_folds, an. Siehe das Modul sklearn.model_selection für die Liste der möglichen Kreuzvalidierungsobjekte.

Geändert in Version 0.22: Der Standardwert von cv, wenn None, hat sich von 3-Fold auf 5-Fold geändert.

dualbool, Standard=False

Duale (beschränkte) oder primäre (regulierte, siehe auch diese Gleichung) Formulierung. Die duale Formulierung ist nur für die l2-Strafe mit dem liblinear-Löser implementiert. Bevorzugen Sie dual=False, wenn n_samples > n_features.

penalty{‘l1’, ‘l2’, ‘elasticnet’}, Standard=’l2’

Geben Sie die Norm der Strafe an

  • 'l2': fügt einen L2-Strafenterm hinzu (wird standardmäßig verwendet);

  • 'l1': fügt einen L1-Strafenterm hinzu;

  • 'elasticnet': beide L1- und L2-Strafenterme werden hinzugefügt.

Warnung

Einige Strafen funktionieren möglicherweise nicht mit einigen Lösern. Siehe den Parameter solver unten, um die Kompatibilität zwischen Strafe und Löser zu erfahren.

Veraltet seit Version 1.8: penalty war in Version 1.8 veraltet und wird in Version 1.10 entfernt. Verwenden Sie stattdessen l1_ratio. l1_ratio=0 für penalty='l2', l1_ratio=1 für penalty='l1' und l1_ratio auf einen beliebigen Float-Wert zwischen 0 und 1 gesetzt für 'penalty='elasticnet'.

scoringstr oder callable, Standardwert=None

Die verwendete Scoring-Methode für die Kreuzvalidierung. Optionen

solver{‘lbfgs’, ‘liblinear’, ‘newton-cg’, ‘newton-cholesky’, ‘sag’, ‘saga’}, Standard=’lbfgs’

Algorithmus, der im Optimierungsproblem verwendet werden soll. Standard ist ‘lbfgs’. Um einen Löser auszuwählen, sollten Sie die folgenden Aspekte berücksichtigen

  • ‘lbfgs’ ist ein guter Standardlöser, da er für eine breite Klasse von Problemen einigermaßen gut funktioniert.

  • Für Multiklassenprobleme (n_classes >= 3) minimieren alle Löser außer ‘liblinear’ die gesamte multinominale Verlustfunktion, ‘liblinear’ löst einen Fehler aus.

  • ‘newton-cholesky’ ist eine gute Wahl für n_samples >> n_features * n_classes, insbesondere bei One-Hot-kodierten kategorialen Merkmalen mit seltenen Kategorien. Beachten Sie, dass der Speicherbedarf dieses Lösers quadratisch von n_features * n_classes abhängt, da er explizit die vollständige Hesse-Matrix berechnet.

  • Für kleine Datensätze ist ‘liblinear’ eine gute Wahl, während ‘sag’ und ‘saga’ für große schneller sind;

  • ‘liblinear’ kann in LogisticRegressionCV langsamer sein, da er kein Warm-Starting unterstützt.

  • ‘liblinear’ kann standardmäßig nur binäre Klassifizierung behandeln. Um ein One-versus-Rest-Schema für das Multiklassenproblem anzuwenden, kann es mit OneVsRestClassifier gekapselt werden.

Warnung

Die Wahl des Algorithmus hängt von der gewählten Strafe (l1_ratio=0 für L2-Strafe, l1_ratio=1 für L1-Strafe und 0 < l1_ratio < 1 für Elastic-Net) und von der (multinomialen) Multiklassenunterstützung ab.

solver

l1_ratio

multinomial multiclass

‘lbfgs’

l1_ratio=0

yes

‘liblinear’

l1_ratio=1 or l1_ratio=0

no

‘newton-cg’

l1_ratio=0

yes

‘newton-cholesky’

l1_ratio=0

yes

‘sag’

l1_ratio=0

yes

‘saga’

0<=l1_ratio<=1

yes

Hinweis

Die schnelle Konvergenz von ‘sag’ und ‘saga’ ist nur bei Merkmalen mit ungefähr gleicher Skala garantiert. Sie können die Daten mit einem Scaler aus sklearn.preprocessing vorverarbeiten.

Hinzugefügt in Version 0.17: Stochastischer Gradienten-Abstiegs-Löser (SAG). Multiklassenunterstützung in Version 0.18.

Hinzugefügt in Version 0.19: SAGA-Löser.

Hinzugefügt in Version 1.2: newton-cholesky-Löser. Multiklassenunterstützung in Version 1.6.

tolfloat, Standard=1e-4

Toleranz für die Abbruchkriterien.

max_iterint, default=100

Maximale Anzahl von Iterationen des Optimierungsalgorithmus.

class_weightdict oder ‘balanced’, Standard=None

Gewichte, die den Klassen zugeordnet sind, in der Form {Klassenbezeichnung: Gewicht}. Wenn nicht angegeben, wird angenommen, dass alle Klassen das Gewicht eins haben.

Der Modus „balanced“ verwendet die Werte von y, um Gewichte automatisch invers proportional zur Klassenhäufigkeit in den Eingabedaten anzupassen, als n_samples / (n_classes * np.bincount(y)).

Beachten Sie, dass diese Gewichte mit sample_weight (das über die fit-Methode übergeben wird) multipliziert werden, wenn sample_weight angegeben ist.

Hinzugefügt in Version 0.17: class_weight == ‘balanced’

n_jobsint, default=None

Anzahl der CPU-Kerne, die während der Kreuzvalidierungsschleife verwendet werden. None bedeutet 1, es sei denn, Sie befinden sich in einem joblib.parallel_backend-Kontext. -1 bedeutet, alle Prozessoren zu verwenden. Siehe Glossar für weitere Details.

verboseint, default=0

Für die Löser ‘liblinear’, ‘sag’ und ‘lbfgs’ setzen Sie verbose auf eine beliebige positive Zahl für die Ausführlichkeit.

refitbool, Standard=True

Wenn auf True gesetzt, werden die Scores über alle Folds gemittelt und die Koeffizienten und das C, die dem besten Score entsprechen, genommen und ein abschließendes Refitting mit diesen Parametern durchgeführt. Andernfalls werden die Koeffizienten, Achsenabschnitte und C, die den besten Scores über die Folds entsprechen, gemittelt.

intercept_scalingfloat, Standard=1

Nur nützlich, wenn der Löser liblinear verwendet wird und self.fit_intercept auf True gesetzt ist. In diesem Fall wird x zu [x, self.intercept_scaling], d. h. ein „synthetisches“ Merkmal mit einem konstanten Wert gleich intercept_scaling wird an den Instanzvektor angehängt. Der Achsenabschnitt wird zu intercept_scaling * synthetic_feature_weight.

Hinweis

Das Gewicht des synthetischen Merkmals unterliegt wie alle anderen Merkmale L1- oder L2-Regularisierung. Um die Auswirkung der Regularisierung auf das Gewicht des synthetischen Merkmals (und damit auf den Achsenabschnitt) zu verringern, muss intercept_scaling erhöht werden.

random_stateint, RandomState instance, default=None

Verwendet, wenn solver='sag', ‘saga’ oder ‘liblinear’ verwendet wird, um die Daten zu mischen. Beachten Sie, dass dies nur für den Löser gilt und nicht für den Kreuzvalidierungsgenerator. Siehe Glossar für Details.

use_legacy_attributesbool, Standard=True

Wenn True, werden Legacy-Werte für Attribute verwendet

  • C_ ist ein ndarray der Form (n_classes,) mit demselben wiederholten Wert

  • l1_ratio_ ist ein ndarray der Form (n_classes,) mit demselben wiederholten Wert

  • coefs_paths_ ist ein dict mit Klassenbezeichnungen als Schlüssel und ndarrays als Werte

  • scores_ ist ein dict mit Klassenbezeichnungen als Schlüssel und ndarrays als Werte

  • n_iter_ ist ein ndarray der Form (1, n_folds, n_cs) oder ähnlich

Wenn False, werden neue Werte für Attribute verwendet

  • C_ ist ein float

  • l1_ratio_ ist ein float

  • coefs_paths_ ist ein ndarray der Form (n_folds, n_l1_ratios, n_cs, n_classes, n_features). Für binäre Probleme (n_classes=2) ist die 2. letzte Dimension 1.

  • scores_ ist ein ndarray der Form (n_folds, n_l1_ratios, n_cs)

  • n_iter_ ist ein ndarray der Form (n_folds, n_l1_ratios, n_cs)

Geändert in Version 1.10: Der Standardwert wird sich von True auf False in Version 1.10 ändern.

Veraltet seit Version 1.10: use_legacy_attributes wird in Version 1.10 veraltet sein und in 1.12 entfernt werden.

Attribute:
classes_ndarray der Form (n_classes,)

Eine Liste von Klassenbezeichnungen, die dem Klassifikator bekannt sind.

coef_ndarray der Form (1, n_features) oder (n_classes, n_features)

Koeffizienten der Merkmale in der Entscheidungsfunktion.

coef_ hat die Form (1, n_features), wenn das gegebene Problem binär ist.

intercept_ndarray der Form (1,) oder (n_classes,)

Achsenabschnitt (auch Bias genannt), der zur Entscheidungsfunktion hinzugefügt wird.

Wenn fit_intercept auf False gesetzt ist, wird der Achsenabschnitt auf Null gesetzt. intercept_ hat die Form (1,), wenn das Problem binär ist.

Cs_ndarray der Form (n_cs)

Array von C, d. h. Werte des inversen Regularisierungsparameters, die für die Kreuzvalidierung verwendet wurden.

l1_ratios_ndarray der Form (n_l1_ratios)

Array von l1_ratios, die für die Kreuzvalidierung verwendet wurden. Wenn l1_ratios=None verwendet wird (d. h. penalty ist nicht ‘elasticnet’), wird dies auf [None] gesetzt.

coefs_paths_dict von ndarray der Form (n_folds, n_cs, n_dof) oder (n_folds, n_cs, n_l1_ratios, n_dof)

Ein Dictionary mit Klassen als Schlüssel und dem Pfad der Koeffizienten, der während der Kreuzvalidierung über jeden Fold (n_folds) und dann über jeden Cs (n_cs) erhalten wurde. Die Größe der Koeffizienten ist die Anzahl der Freiheitsgrade (n_dof), d. h. ohne Achsenabschnitt n_dof=n_features und mit Achsenabschnitt n_dof=n_features+1. Wenn penalty='elasticnet', gibt es eine zusätzliche Dimension für die Anzahl der l1_ratio-Werte (n_l1_ratios), was eine Form von (n_folds, n_cs, n_l1_ratios_, n_dof) ergibt. Siehe auch den Parameter use_legacy_attributes.

scores_dict

Ein Dictionary mit Klassen als Schlüssel und den Werten als Gitter von Scores, die während der Kreuzvalidierung jedes Folds erhalten wurden. Derselbe Score wird über alle Klassen wiederholt. Jeder Dictionary-Wert hat die Form (n_folds, n_cs) oder (n_folds, n_cs, n_l1_ratios), wenn penalty='elasticnet'. Siehe auch den Parameter use_legacy_attributes.

C_ndarray der Form (n_classes,) oder (1,)

Der Wert von C, der dem besten Score zugeordnet ist, n_classes Mal wiederholt. Wenn refit auf False gesetzt ist, ist das beste C der Durchschnitt der C-Werte, die dem besten Score für jeden Fold entsprechen. C_ hat die Form (1,), wenn das Problem binär ist. Siehe auch den Parameter use_legacy_attributes.

l1_ratio_ndarray der Form (n_classes,) oder (n_classes - 1,)

Der Wert von l1_ratio, der dem besten Score zugeordnet ist, n_classes Mal wiederholt. Wenn refit auf False gesetzt ist, ist das beste l1_ratio der Durchschnitt der l1_ratio-Werte, die dem besten Score für jeden Fold entsprechen. l1_ratio_ hat die Form (1,), wenn das Problem binär ist. Siehe auch den Parameter use_legacy_attributes.

n_iter_ndarray der Form (1, n_folds, n_cs) oder (1, n_folds, n_cs, n_l1_ratios)

Tatsächliche Anzahl von Iterationen für alle Klassen, Folds und Cs. Wenn penalty='elasticnet', hat die Form (1, n_folds, n_cs, n_l1_ratios). Siehe auch den Parameter use_legacy_attributes.

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

feature_names_in_ndarray mit Form (n_features_in_,)

Namen der während fit gesehenen Merkmale. Nur definiert, wenn X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

LogisticRegression

Logistische Regression ohne Abstimmung des Hyperparameters C.

Beispiele

>>> from sklearn.datasets import load_iris
>>> from sklearn.linear_model import LogisticRegressionCV
>>> X, y = load_iris(return_X_y=True)
>>> clf = LogisticRegressionCV(
...     cv=5, random_state=0, use_legacy_attributes=False, l1_ratios=(0,)
... ).fit(X, y)
>>> clf.predict(X[:2, :])
array([0, 0])
>>> clf.predict_proba(X[:2, :]).shape
(2, 3)
>>> clf.score(X, y)
0.98...
decision_function(X)[source]#

Konfidenz-Scores für Stichproben vorhersagen.

Der Konfidenz-Score für eine Stichprobe ist proportional zum vorzeichenbehafteten Abstand dieser Stichprobe zur Hyperebene.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Die Datenmatrix, für die wir die Konfidenz-Scores erhalten möchten.

Gibt zurück:
scoresndarray der Form (n_samples,) oder (n_samples, n_classes)

Konfidenz-Scores pro (n_samples, n_classes)-Kombination. Im binären Fall, Konfidenz-Score für self.classes_[1], wobei >0 bedeutet, dass diese Klasse vorhergesagt würde.

densify()[source]#

Konvertiert die Koeffizientenmatrix in ein dichtes Array-Format.

Konvertiert das Mitglied coef_ (zurück) in ein numpy.ndarray. Dies ist das Standardformat von coef_ und wird für das Training benötigt, daher muss diese Methode nur auf Modellen aufgerufen werden, die zuvor verknappt wurden; andernfalls ist sie eine No-Op.

Gibt zurück:
self

Angepasster Schätzer.

fit(X, y, sample_weight=None, **params)[source]#

Trainiert das Modell anhand der gegebenen Trainingsdaten.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Trainingsvektor, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Merkmale ist.

yarray-like von Form (n_samples,)

Zielvektor relativ zu X.

sample_weightArray-ähnlich der Form (n_samples,) Standard=None

Array von Gewichten, die einzelnen Stichproben zugeordnet sind. Wenn nicht bereitgestellt, erhält jede Stichprobe das Einheitsgewicht.

**paramsdict

Parameter, die an den zugrunde liegenden Splitter und Scorer übergeben werden.

Hinzugefügt in Version 1.4.

Gibt zurück:
selfobject

Trainierter LogisticRegressionCV-Schätzer.

get_metadata_routing()[source]#

Holt das Metadaten-Routing dieses Objekts.

Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.

Hinzugefügt in Version 1.4.

Gibt zurück:
routingMetadataRouter

Ein MetadataRouter, der die Routing-Informationen kapselt.

get_params(deep=True)[source]#

Holt Parameter für diesen Schätzer.

Parameter:
deepbool, default=True

Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.

Gibt zurück:
paramsdict

Parameternamen, zugeordnet ihren Werten.

predict(X)[source]#

Vorhersagen von Klassenbezeichnungen für Stichproben in X.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Die Datenmatrix, für die wir die Vorhersagen erhalten möchten.

Gibt zurück:
y_predndarray von Form (n_samples,)

Vektor, der die Klassenbezeichnungen für jede Stichprobe enthält.

predict_log_proba(X)[source]#

Vorhersage des Logarithmus von Wahrscheinlichkeitsschätzungen.

Die zurückgegebenen Schätzungen für alle Klassen sind nach der Bezeichnung der Klassen geordnet.

Parameter:
Xarray-like der Form (n_samples, n_features)

Vektor, der bewertet werden soll, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Merkmale ist.

Gibt zurück:
TArray-ähnlich der Form (n_samples, n_classes)

Gibt die Log-Wahrscheinlichkeit der Stichprobe für jede Klasse im Modell zurück, wobei die Klassen in der Reihenfolge von self.classes_ geordnet sind.

predict_proba(X)[source]#

Wahrscheinlichkeitsschätzungen.

Die zurückgegebenen Schätzungen für alle Klassen sind nach der Bezeichnung der Klassen geordnet.

Für ein Multiklassen- / Multinomialproblem wird die Softmax-Funktion verwendet, um die vorhergesagte Wahrscheinlichkeit jeder Klasse zu ermitteln.

Parameter:
Xarray-like der Form (n_samples, n_features)

Vektor, der bewertet werden soll, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Merkmale ist.

Gibt zurück:
TArray-ähnlich der Form (n_samples, n_classes)

Gibt die Wahrscheinlichkeit der Stichprobe für jede Klasse im Modell zurück, wobei die Klassen in der Reihenfolge von self.classes_ geordnet sind.

score(X, y, sample_weight=None, **score_params)[source]#

Bewertet mit der Option scoring anhand der gegebenen Testdaten und Labels.

Parameter:
Xarray-like der Form (n_samples, n_features)

Teststichproben.

yarray-like von Form (n_samples,)

Wahre Labels für X.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Stichprobengewichte.

**score_paramsdict

Parameter, die an die score-Methode des zugrunde liegenden Scorers übergeben werden.

Hinzugefügt in Version 1.4.

Gibt zurück:
scorefloat

Score von self.predict(X) relativ zu y.

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') LogisticRegressionCV[source]#

Konfiguriert, ob Metadaten für die fit-Methode angefordert werden sollen.

Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit enable_metadata_routing=True aktiviert ist (siehe sklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.

Die Optionen für jeden Parameter sind

  • True: Metadaten werden angefordert und, falls vorhanden, an fit übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an fit.

  • None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.

  • str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.

Der Standardwert (sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.

Hinzugefügt in Version 1.3.

Parameter:
sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter sample_weight in fit.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

set_params(**params)[source]#

Setzt die Parameter dieses Schätzers.

Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie Pipeline). Letztere haben Parameter der Form <component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.

Parameter:
**paramsdict

Schätzer-Parameter.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') LogisticRegressionCV[source]#

Konfiguriert, ob Metadaten für die score-Methode angefordert werden sollen.

Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit enable_metadata_routing=True aktiviert ist (siehe sklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.

Die Optionen für jeden Parameter sind

  • True: Metadaten werden angefordert und, falls vorhanden, an score übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an score.

  • None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.

  • str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.

Der Standardwert (sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.

Hinzugefügt in Version 1.3.

Parameter:
sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter sample_weight in score.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

sparsify()[source]#

Koeffizientenmatrix in Sparse-Format konvertieren.

Konvertiert das coef_-Mitglied in eine scipy.sparse-Matrix, die für Modelle mit L1-Regularisierung speicher- und speichereffizienter sein kann als die übliche numpy.ndarray-Darstellung.

Das intercept_-Mitglied wird nicht konvertiert.

Gibt zurück:
self

Angepasster Schätzer.

Anmerkungen

Für nicht-sparse Modelle, d.h. wenn nicht viele Nullen in coef_ vorhanden sind, kann dies tatsächlich den Speicherverbrauch *erhöhen*, also verwenden Sie diese Methode mit Vorsicht. Eine Faustregel besagt, dass die Anzahl der Nullelemente, die mit (coef_ == 0).sum() berechnet werden kann, mehr als 50 % betragen muss, damit dies signifikante Vorteile bringt.

Nach dem Aufruf dieser Methode funktioniert die weitere Anpassung mit der Methode partial_fit (falls vorhanden) nicht mehr, bis Sie densify aufrufen.