.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/miscellaneous/plot_pipeline_display.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. or to run this example in your browser via Binder .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_miscellaneous_plot_pipeline_display.py: ================================================================= 显示流水线 ================================================================= 在 Jupyter Notebook 中显示流水线的默认配置是 `'diagram'` ,即 `set_config(display='diagram')` 。要停用 HTML 表示形式,请使用 `set_config(display='text')` 。 要在流水线的可视化中查看更详细的步骤,请点击流水线中的步骤。 .. GENERATED FROM PYTHON SOURCE LINES 12-13 显示包含预处理步骤和分类器的管道 .. GENERATED FROM PYTHON SOURCE LINES 15-16 本节构建了一个包含预处理步骤 :class:`~sklearn.preprocessing.StandardScaler` 和分类器 :class:`~sklearn.linear_model.LogisticRegression` 的 :class:`~sklearn.pipeline.Pipeline` ,并展示其可视化表示。 .. GENERATED FROM PYTHON SOURCE LINES 16-28 .. code-block:: Python 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) .. GENERATED FROM PYTHON SOURCE LINES 29-30 要可视化图表,默认设置为 `display='diagram'` 。 .. GENERATED FROM PYTHON SOURCE LINES 30-34 .. code-block:: Python set_config(display="diagram") pipe # click on the diagram below to see the details of each step .. raw:: html
Pipeline(steps=[('preprocessing', StandardScaler()),
                    ('classifier', LogisticRegression())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


.. GENERATED FROM PYTHON SOURCE LINES 35-36 要查看文本管道,请更改为 `display='text'` 。 .. GENERATED FROM PYTHON SOURCE LINES 36-40 .. code-block:: Python set_config(display="text") pipe .. rst-class:: sphx-glr-script-out .. code-block:: none Pipeline(steps=[('preprocessing', StandardScaler()), ('classifier', LogisticRegression())]) .. GENERATED FROM PYTHON SOURCE LINES 41-42 恢复默认显示 .. GENERATED FROM PYTHON SOURCE LINES 42-44 .. code-block:: Python set_config(display="diagram") .. GENERATED FROM PYTHON SOURCE LINES 45-46 显示一个包含多个预处理步骤和分类器的管道 .. GENERATED FROM PYTHON SOURCE LINES 48-49 本节构建了一个包含多个预处理步骤的 :class:`~sklearn.pipeline.Pipeline` ,包括 :class:`~sklearn.preprocessing.PolynomialFeatures` 和 :class:`~sklearn.preprocessing.StandardScaler` ,以及一个分类器步骤 :class:`~sklearn.linear_model.LogisticRegression` ,并显示其可视化表示。 .. GENERATED FROM PYTHON SOURCE LINES 49-62 .. code-block:: Python 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 .. raw:: html
Pipeline(steps=[('standard_scaler', StandardScaler()),
                    ('polynomial', PolynomialFeatures(degree=3)),
                    ('classifier', LogisticRegression(C=2.0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


.. GENERATED FROM PYTHON SOURCE LINES 63-64 显示管道、降维和分类器 .. GENERATED FROM PYTHON SOURCE LINES 66-67 本节构建了一个包含降维步骤 :class:`~sklearn.decomposition.PCA` 和分类器 :class:`~sklearn.svm.SVC` 的 :class:`~sklearn.pipeline.Pipeline` ,并展示其可视化表示。 .. GENERATED FROM PYTHON SOURCE LINES 67-76 .. code-block:: Python from sklearn.decomposition import PCA from sklearn.pipeline import Pipeline from sklearn.svm import SVC steps = [("reduce_dim", PCA(n_components=4)), ("classifier", SVC(kernel="linear"))] pipe = Pipeline(steps) pipe # click on the diagram below to see the details of each step .. raw:: html
Pipeline(steps=[('reduce_dim', PCA(n_components=4)),
                    ('classifier', SVC(kernel='linear'))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


.. GENERATED FROM PYTHON SOURCE LINES 77-78 显示一个复杂的管道链列转换器 .. GENERATED FROM PYTHON SOURCE LINES 80-81 本节构建了一个复杂的 :class:`~sklearn.pipeline.Pipeline` ,其中包含一个 :class:`~sklearn.compose.ColumnTransformer` 和一个分类器 :class:`~sklearn.linear_model.LogisticRegression` ,并展示其可视化表示。 .. GENERATED FROM PYTHON SOURCE LINES 81-117 .. code-block:: Python 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 .. raw:: html
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 a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


.. GENERATED FROM PYTHON SOURCE LINES 118-121 展示一个包含分类器的管道的网格搜索 ############################################################################### 本节构建了一个包含 :class:`~sklearn.ensemble.RandomForestClassifier` 的 :class:`~sklearn.pipeline.Pipeline` 上的 :class:`~sklearn.model_selection.GridSearchCV` ,并显示其可视化表示。 .. GENERATED FROM PYTHON SOURCE LINES 121-168 .. code-block:: Python 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 .. raw:: html
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 a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


.. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.045 seconds) .. _sphx_glr_download_auto_examples_miscellaneous_plot_pipeline_display.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/scikit-learn/scikit-learn/main?urlpath=lab/tree/notebooks/auto_examples/miscellaneous/plot_pipeline_display.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_pipeline_display.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_pipeline_display.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_pipeline_display.zip ` .. include:: plot_pipeline_display.recommendations .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_