Hinweis
Zum Ende springen, um den vollständigen Beispielcode herunterzuladen oder dieses Beispiel über JupyterLite oder Binder in Ihrem Browser auszuführen.
Pipelines anzeigen#
Die Standardkonfiguration für die Anzeige einer Pipeline in einem Jupyter Notebook ist 'diagram', wobei set_config(display='diagram') verwendet wird. Um die HTML-Darstellung zu deaktivieren, verwenden Sie set_config(display='text').
Um detailliertere Schritte in der Visualisierung der Pipeline zu sehen, klicken Sie auf die Schritte in der Pipeline.
# Authors: The scikit-learn developers
# SPDX-License-Identifier: BSD-3-Clause
Anzeigen einer Pipeline mit einem Vorverarbeitungsschritt und Klassifikator#
Dieser Abschnitt erstellt eine Pipeline mit einem Vorverarbeitungsschritt, StandardScaler, und einem Klassifikator, LogisticRegression, und zeigt deren visuelle Darstellung an.
from sklearn import set_config
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
steps = [
("preprocessing", StandardScaler()),
("classifier", LogisticRegression()),
]
pipe = Pipeline(steps)
Zur Visualisierung des Diagramms ist die Standardeinstellung display='diagram'.
set_config(display="diagram")
pipe # click on the diagram below to see the details of each step
Pipeline(steps=[('preprocessing', StandardScaler()),
('classifier', LogisticRegression())])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.
Parameter
Parameter
Parameter
Um die Text-Pipeline anzuzeigen, ändern Sie auf display='text'.
set_config(display="text")
pipe
Pipeline(steps=[('preprocessing', StandardScaler()),
('classifier', LogisticRegression())])
Standardanzeige wiederherstellen
set_config(display="diagram")
Anzeigen einer Pipeline, die mehrere Vorverarbeitungsschritte & Klassifikator verknüpft#
Dieser Abschnitt erstellt eine Pipeline mit mehreren Vorverarbeitungsschritten, PolynomialFeatures und StandardScaler, und einem Klassifikatorschritt, LogisticRegression, und zeigt deren visuelle Darstellung an.
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import PolynomialFeatures, StandardScaler
steps = [
("standard_scaler", StandardScaler()),
("polynomial", PolynomialFeatures(degree=3)),
("classifier", LogisticRegression(C=2.0)),
]
pipe = Pipeline(steps)
pipe # click on the diagram below to see the details of each step
Pipeline(steps=[('standard_scaler', StandardScaler()),
('polynomial', PolynomialFeatures(degree=3)),
('classifier', 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.
Parameter
Parameter
Parameter
Parameter
Anzeigen einer Pipeline mit Dimensionsreduktion und Klassifikator#
Dieser Abschnitt erstellt eine Pipeline mit einem Dimensionsreduktionsschritt, PCA, einem Klassifikator, SVC, und zeigt deren visuelle Darstellung an.
Pipeline(steps=[('reduce_dim', PCA(n_components=4)),
('classifier', SVC(kernel='linear'))])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.
Parameter
Parameter
Parameter
Anzeigen einer komplexen Pipeline, die einen Spaltentransformer verknüpft#
Dieser Abschnitt erstellt eine komplexe Pipeline mit einem ColumnTransformer und einem Klassifikator, LogisticRegression, und zeigt deren visuelle Darstellung an.
import numpy as np
from sklearn.compose import ColumnTransformer
from sklearn.impute import SimpleImputer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline, make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
numeric_preprocessor = Pipeline(
steps=[
("imputation_mean", SimpleImputer(missing_values=np.nan, strategy="mean")),
("scaler", StandardScaler()),
]
)
categorical_preprocessor = Pipeline(
steps=[
(
"imputation_constant",
SimpleImputer(fill_value="missing", strategy="constant"),
),
("onehot", OneHotEncoder(handle_unknown="ignore")),
]
)
preprocessor = ColumnTransformer(
[
("categorical", categorical_preprocessor, ["state", "gender"]),
("numerical", numeric_preprocessor, ["age", "weight"]),
]
)
pipe = make_pipeline(preprocessor, LogisticRegression(max_iter=500))
pipe # click on the diagram below to see the details of each step
Pipeline(steps=[('columntransformer',
ColumnTransformer(transformers=[('categorical',
Pipeline(steps=[('imputation_constant',
SimpleImputer(fill_value='missing',
strategy='constant')),
('onehot',
OneHotEncoder(handle_unknown='ignore'))]),
['state', 'gender']),
('numerical',
Pipeline(steps=[('imputation_mean',
SimpleImputer()),
('scaler',
StandardScaler())]),
['age', 'weight'])])),
('logisticregression', LogisticRegression(max_iter=500))])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.
Parameter
Parameter
['state', 'gender']
Parameter
Parameter
['age', 'weight']
Parameter
Parameter
Parameter
Anzeigen einer Grid-Suche über eine Pipeline mit einem Klassifikator#
Dieser Abschnitt erstellt eine GridSearchCV über eine Pipeline mit RandomForestClassifier und zeigt deren visuelle Darstellung an.
import numpy as np
from sklearn.compose import ColumnTransformer
from sklearn.ensemble import RandomForestClassifier
from sklearn.impute import SimpleImputer
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import Pipeline, make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
numeric_preprocessor = Pipeline(
steps=[
("imputation_mean", SimpleImputer(missing_values=np.nan, strategy="mean")),
("scaler", StandardScaler()),
]
)
categorical_preprocessor = Pipeline(
steps=[
(
"imputation_constant",
SimpleImputer(fill_value="missing", strategy="constant"),
),
("onehot", OneHotEncoder(handle_unknown="ignore")),
]
)
preprocessor = ColumnTransformer(
[
("categorical", categorical_preprocessor, ["state", "gender"]),
("numerical", numeric_preprocessor, ["age", "weight"]),
]
)
pipe = Pipeline(
steps=[("preprocessor", preprocessor), ("classifier", RandomForestClassifier())]
)
param_grid = {
"classifier__n_estimators": [200, 500],
"classifier__max_features": ["auto", "sqrt", "log2"],
"classifier__max_depth": [4, 5, 6, 7, 8],
"classifier__criterion": ["gini", "entropy"],
}
grid_search = GridSearchCV(pipe, param_grid=param_grid, n_jobs=1)
grid_search # click on the diagram below to see the details of each step
GridSearchCV(estimator=Pipeline(steps=[('preprocessor',
ColumnTransformer(transformers=[('categorical',
Pipeline(steps=[('imputation_constant',
SimpleImputer(fill_value='missing',
strategy='constant')),
('onehot',
OneHotEncoder(handle_unknown='ignore'))]),
['state',
'gender']),
('numerical',
Pipeline(steps=[('imputation_mean',
SimpleImputer()),
('scaler',
StandardScaler())]),
['age',
'weight'])])),
('classifier',
RandomForestClassifier())]),
n_jobs=1,
param_grid={'classifier__criterion': ['gini', 'entropy'],
'classifier__max_depth': [4, 5, 6, 7, 8],
'classifier__max_features': ['auto', 'sqrt', 'log2'],
'classifier__n_estimators': [200, 500]})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.
Parameter
Parameter
['state', 'gender']
Parameter
Parameter
['age', 'weight']
Parameter
Parameter
Parameter
Gesamtlaufzeit des Skripts: (0 Minuten 0,134 Sekunden)
Verwandte Beispiele