Release Highlights für scikit-learn 1.7#

Wir freuen uns, die Veröffentlichung von scikit-learn 1.7 bekannt zu geben! Viele Fehlerbehebungen und Verbesserungen wurden hinzugefügt, ebenso wie einige wichtige neue Funktionen. Nachfolgend beschreiben wir die Highlights dieser Veröffentlichung. Für eine vollständige Liste aller Änderungen siehe die Release Notes.

Um die neueste Version zu installieren (mit pip)

pip install --upgrade scikit-learn

oder mit conda

conda install -c conda-forge scikit-learn

Verbesserte HTML-Darstellung von Estimators#

Die HTML-Darstellung von Estimators enthält nun einen Abschnitt mit der Liste der Parameter und ihren Werten. Nicht-Standard-Parameter sind orange hervorgehoben. Ein Kopier-Button ist ebenfalls verfügbar, um den „vollqualifizierten“ Parameternamen zu kopieren, ohne die Methode get_params aufrufen zu müssen. Dies ist besonders nützlich bei der Definition eines Parameter-Rasters für eine Grid-Suche oder eine Zufallssuche mit einer komplexen Pipeline.

Sehen Sie sich das untenstehende Beispiel an und klicken Sie auf die verschiedenen Estimator-Blöcke, um die verbesserte HTML-Darstellung zu sehen.

from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler

model = make_pipeline(StandardScaler(with_std=False), LogisticRegression(C=2.0))
model
Pipeline(steps=[('standardscaler', StandardScaler(with_std=False)),
                ('logisticregression', LogisticRegression(C=2.0))])
In einer Jupyter-Umgebung führen Sie diese Zelle bitte erneut aus, um die HTML-Darstellung anzuzeigen, oder vertrauen Sie dem Notebook.
Auf GitHub kann die HTML-Darstellung nicht gerendert werden. Versuchen Sie bitte, diese Seite mit nbviewer.org zu laden.


Benutzerdefiniertes Validierungsset für histogrammbasierte Gradient Boosting Estimators#

Die Klassen ensemble.HistGradientBoostingClassifier und ensemble.HistGradientBoostingRegressor unterstützen nun die direkte Übergabe eines benutzerdefinierten Validierungssets für Early Stopping an die `fit`-Methode über die Parameter X_val, y_val und sample_weight_val. In einer pipeline.Pipeline kann das Validierungsset X_val zusammen mit X über den Parameter transform_input transformiert werden.

import sklearn
from sklearn.datasets import make_classification
from sklearn.ensemble import HistGradientBoostingClassifier
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler

sklearn.set_config(enable_metadata_routing=True)

X, y = make_classification(random_state=0)
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=0)

clf = HistGradientBoostingClassifier()
clf.set_fit_request(X_val=True, y_val=True)

model = Pipeline([("sc", StandardScaler()), ("clf", clf)], transform_input=["X_val"])
model.fit(X, y, X_val=X_val, y_val=y_val)
Pipeline(steps=[('sc', StandardScaler()),
                ('clf', HistGradientBoostingClassifier())],
         transform_input=['X_val'])
In einer Jupyter-Umgebung führen Sie diese Zelle bitte erneut aus, um die HTML-Darstellung anzuzeigen, oder vertrauen Sie dem Notebook.
Auf GitHub kann die HTML-Darstellung nicht gerendert werden. Versuchen Sie bitte, diese Seite mit nbviewer.org zu laden.


ROC-Kurven aus Kreuzvalidierungsergebnissen plotten#

Die Klasse metrics.RocCurveDisplay verfügt über eine neue Klassenmethode from_cv_results, die es ermöglicht, leicht mehrere ROC-Kurven aus den Ergebnissen von model_selection.cross_validate zu plotten.

from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import RocCurveDisplay
from sklearn.model_selection import cross_validate

X, y = make_classification(n_samples=150, random_state=0)
clf = LogisticRegression(random_state=0)
cv_results = cross_validate(clf, X, y, cv=5, return_estimator=True, return_indices=True)
_ = RocCurveDisplay.from_cv_results(cv_results, X, y)
plot release highlights 1 7 0

Array API-Unterstützung#

Mehrere Funktionen wurden aktualisiert, um array-API-kompatible Eingaben seit Version 1.6 zu unterstützen, insbesondere Metriken aus dem Modul sklearn.metrics.

Zusätzlich ist es nicht mehr erforderlich, das Paket array-api-compat zu installieren, um die experimentelle Array-API-Unterstützung in scikit-learn zu nutzen.

Bitte lesen Sie die Seite zur Array API-Unterstützung für Anweisungen zur Verwendung von scikit-learn mit Array-API-kompatiblen Bibliotheken wie PyTorch oder CuPy.

Verbesserte API-Konsistenz von Multi-Layer Perceptron#

Der neural_network.MLPRegressor verfügt über einen neuen Parameter loss und unterstützt nun zusätzlich zur Standard-Loss-Funktion "squared_error" auch die "poisson"-Loss-Funktion. Darüber hinaus unterstützen die Estimators neural_network.MLPClassifier und neural_network.MLPRegressor nun Sample Weights. Diese Verbesserungen wurden vorgenommen, um die Konsistenz dieser Estimators im Vergleich zu anderen Estimators in scikit-learn zu verbessern.

Migration zu Sparse Arrays#

Um die Migration von SciPy von Sparse Matrizen zu Sparse Arrays vorzubereiten, akzeptieren nun alle scikit-learn Estimators, die Sparse Matrizen als Eingabe akzeptieren, auch Sparse Arrays.

Gesamtlaufzeit des Skripts: (0 Minuten 0,131 Sekunden)

Verwandte Beispiele

Release Highlights für scikit-learn 1.6

Release Highlights für scikit-learn 1.6

Release Highlights für scikit-learn 1.2

Release Highlights für scikit-learn 1.2

Release Highlights für scikit-learn 0.23

Release Highlights für scikit-learn 0.23

Release Highlights für scikit-learn 0.22

Release Highlights für scikit-learn 0.22

Galerie generiert von Sphinx-Gallery