
.. 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

        Click :ref:`here <sphx_glr_download_auto_examples_miscellaneous_plot_pipeline_display.py>`
        to download the full example code

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_auto_examples_miscellaneous_plot_pipeline_display.py:


=================================================================
Displaying Pipelines
=================================================================

The default configuration for displaying a pipeline is `'text'` where
`set_config(display='text')`.  To visualize the diagram in Jupyter Notebook,
use `set_config(display='diagram')` and then output the pipeline object.

To see more detailed steps in the visualization of the pipeline, click on the
steps in the pipeline.

.. GENERATED FROM PYTHON SOURCE LINES 15-21

Displaying a Pipeline with a Preprocessing Step and Classifier
###############################################################################
 This section constructs a :class:`~sklearn.pipeline.Pipeline` with a preprocessing
 step, :class:`~sklearn.preprocessing.StandardScaler`, and classifier,
 :class:`~sklearn.linear_model.LogisticRegression`, and displays its visual
 representation.

.. GENERATED FROM PYTHON SOURCE LINES 21-33

.. code-block:: default


    from sklearn.pipeline import Pipeline
    from sklearn.preprocessing import StandardScaler
    from sklearn.linear_model import LogisticRegression
    from sklearn import set_config

    steps = [
        ("preprocessing", StandardScaler()),
        ("classifier", LogisticRegression()),
    ]
    pipe = Pipeline(steps)








.. GENERATED FROM PYTHON SOURCE LINES 34-35

To view the text pipeline, the default is `display='text'`.

.. GENERATED FROM PYTHON SOURCE LINES 35-38

.. code-block:: default

    set_config(display="text")
    pipe





.. rst-class:: sphx-glr-script-out

 Out:

 .. code-block:: none


    Pipeline(steps=[('preprocessing', StandardScaler()),
                    ('classifier', LogisticRegression())])



.. GENERATED FROM PYTHON SOURCE LINES 39-40

To visualize the diagram, change `display='diagram'`.

.. GENERATED FROM PYTHON SOURCE LINES 40-43

.. code-block:: default

    set_config(display="diagram")
    pipe  # click on the diagram below to see the details of each step






.. raw:: html

    <div class="output_subarea output_html rendered_html output_result">
    <style>#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd {color: black;background-color: white;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd pre{padding: 0;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-toggleable {background-color: white;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd label.sk-toggleable__label-arrow:before {content: "▸";float: left;margin-right: 0.25em;color: #696969;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-estimator:hover {background-color: #d4ebff;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-serial::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-item {z-index: 1;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-parallel::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-parallel-item:only-child::after {width: 0;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd div.sk-text-repr-fallback {display: none;}</style><div id="sk-63c4c6f7-3f00-43e7-8bab-50ceef2791fd" class="sk-top-container"><div class="sk-text-repr-fallback"><pre>Pipeline(steps=[(&#x27;preprocessing&#x27;, StandardScaler()),
                    (&#x27;classifier&#x27;, LogisticRegression())])</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class="sk-container" hidden><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="d901f4e2-0e9b-44fa-b71a-6b83d6b270d2" type="checkbox" ><label for="d901f4e2-0e9b-44fa-b71a-6b83d6b270d2" class="sk-toggleable__label sk-toggleable__label-arrow">Pipeline</label><div class="sk-toggleable__content"><pre>Pipeline(steps=[(&#x27;preprocessing&#x27;, StandardScaler()),
                    (&#x27;classifier&#x27;, LogisticRegression())])</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="0a5f6f9e-484e-4809-926e-da5d98c925a7" type="checkbox" ><label for="0a5f6f9e-484e-4809-926e-da5d98c925a7" class="sk-toggleable__label sk-toggleable__label-arrow">StandardScaler</label><div class="sk-toggleable__content"><pre>StandardScaler()</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="c46c3ce5-5531-4e19-af4f-93e24393d915" type="checkbox" ><label for="c46c3ce5-5531-4e19-af4f-93e24393d915" class="sk-toggleable__label sk-toggleable__label-arrow">LogisticRegression</label><div class="sk-toggleable__content"><pre>LogisticRegression()</pre></div></div></div></div></div></div></div>
    </div>
    <br />
    <br />

.. GENERATED FROM PYTHON SOURCE LINES 44-51

Displaying a Pipeline Chaining Multiple Preprocessing Steps & Classifier
###############################################################################
 This section constructs a :class:`~sklearn.pipeline.Pipeline` with multiple
 preprocessing steps, :class:`~sklearn.preprocessing.PolynomialFeatures` and
 :class:`~sklearn.preprocessing.StandardScaler`, and a classifer step,
 :class:`~sklearn.linear_model.LogisticRegression`, and displays its visual
 representation.

.. GENERATED FROM PYTHON SOURCE LINES 51-64

.. code-block:: default


    from sklearn.pipeline import Pipeline
    from sklearn.preprocessing import StandardScaler, PolynomialFeatures
    from sklearn.linear_model import LogisticRegression
    from sklearn import set_config

    steps = [
        ("standard_scaler", StandardScaler()),
        ("polynomial", PolynomialFeatures(degree=3)),
        ("classifier", LogisticRegression(C=2.0)),
    ]
    pipe = Pipeline(steps)








.. GENERATED FROM PYTHON SOURCE LINES 65-66

To visualize the diagram, change to display='diagram'

.. GENERATED FROM PYTHON SOURCE LINES 66-69

.. code-block:: default

    set_config(display="diagram")
    pipe  # click on the diagram below to see the details of each step






.. raw:: html

    <div class="output_subarea output_html rendered_html output_result">
    <style>#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 {color: black;background-color: white;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 pre{padding: 0;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-toggleable {background-color: white;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 label.sk-toggleable__label-arrow:before {content: "▸";float: left;margin-right: 0.25em;color: #696969;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-estimator:hover {background-color: #d4ebff;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-serial::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-item {z-index: 1;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-parallel::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-parallel-item:only-child::after {width: 0;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0 div.sk-text-repr-fallback {display: none;}</style><div id="sk-8ad38686-4e9e-444b-ba9e-88bf3d9e0fb0" class="sk-top-container"><div class="sk-text-repr-fallback"><pre>Pipeline(steps=[(&#x27;standard_scaler&#x27;, StandardScaler()),
                    (&#x27;polynomial&#x27;, PolynomialFeatures(degree=3)),
                    (&#x27;classifier&#x27;, LogisticRegression(C=2.0))])</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class="sk-container" hidden><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="cbaeeaf1-e9d6-4b03-a4dd-10cf012047f4" type="checkbox" ><label for="cbaeeaf1-e9d6-4b03-a4dd-10cf012047f4" class="sk-toggleable__label sk-toggleable__label-arrow">Pipeline</label><div class="sk-toggleable__content"><pre>Pipeline(steps=[(&#x27;standard_scaler&#x27;, StandardScaler()),
                    (&#x27;polynomial&#x27;, PolynomialFeatures(degree=3)),
                    (&#x27;classifier&#x27;, LogisticRegression(C=2.0))])</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="d8415cfb-7df4-450f-8124-317ffa849801" type="checkbox" ><label for="d8415cfb-7df4-450f-8124-317ffa849801" class="sk-toggleable__label sk-toggleable__label-arrow">StandardScaler</label><div class="sk-toggleable__content"><pre>StandardScaler()</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="dda2d9f8-12ad-4001-aac3-e9dbee2bc048" type="checkbox" ><label for="dda2d9f8-12ad-4001-aac3-e9dbee2bc048" class="sk-toggleable__label sk-toggleable__label-arrow">PolynomialFeatures</label><div class="sk-toggleable__content"><pre>PolynomialFeatures(degree=3)</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="e9e69db6-ad3e-49fe-a9da-715e7d56ede0" type="checkbox" ><label for="e9e69db6-ad3e-49fe-a9da-715e7d56ede0" class="sk-toggleable__label sk-toggleable__label-arrow">LogisticRegression</label><div class="sk-toggleable__content"><pre>LogisticRegression(C=2.0)</pre></div></div></div></div></div></div></div>
    </div>
    <br />
    <br />

.. GENERATED FROM PYTHON SOURCE LINES 70-76

Displaying a Pipeline and Dimensionality Reduction and Classifier
###############################################################################
 This section constructs a :class:`~sklearn.pipeline.Pipeline` with a
 dimensionality reduction step, :class:`~sklearn.decomposition.PCA`,
 a classifier, :class:`~sklearn.svm.SVC`, and displays its visual
 representation.

.. GENERATED FROM PYTHON SOURCE LINES 76-85

.. code-block:: default


    from sklearn.pipeline import Pipeline
    from sklearn.svm import SVC
    from sklearn.decomposition import PCA
    from sklearn import set_config

    steps = [("reduce_dim", PCA(n_components=4)), ("classifier", SVC(kernel="linear"))]
    pipe = Pipeline(steps)








.. GENERATED FROM PYTHON SOURCE LINES 86-87

To visualize the diagram, change to `display='diagram'`.

.. GENERATED FROM PYTHON SOURCE LINES 87-90

.. code-block:: default

    set_config(display="diagram")
    pipe  # click on the diagram below to see the details of each step






.. raw:: html

    <div class="output_subarea output_html rendered_html output_result">
    <style>#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 {color: black;background-color: white;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 pre{padding: 0;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-toggleable {background-color: white;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 label.sk-toggleable__label-arrow:before {content: "▸";float: left;margin-right: 0.25em;color: #696969;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-estimator:hover {background-color: #d4ebff;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-serial::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-item {z-index: 1;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-parallel::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-parallel-item:only-child::after {width: 0;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0 div.sk-text-repr-fallback {display: none;}</style><div id="sk-2df8ab27-8908-4710-b22e-ae478e6fd7c0" class="sk-top-container"><div class="sk-text-repr-fallback"><pre>Pipeline(steps=[(&#x27;reduce_dim&#x27;, PCA(n_components=4)),
                    (&#x27;classifier&#x27;, SVC(kernel=&#x27;linear&#x27;))])</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class="sk-container" hidden><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="793ecb44-de15-4369-9e68-b7f56794a844" type="checkbox" ><label for="793ecb44-de15-4369-9e68-b7f56794a844" class="sk-toggleable__label sk-toggleable__label-arrow">Pipeline</label><div class="sk-toggleable__content"><pre>Pipeline(steps=[(&#x27;reduce_dim&#x27;, PCA(n_components=4)),
                    (&#x27;classifier&#x27;, SVC(kernel=&#x27;linear&#x27;))])</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="11043134-7fd8-4c7e-bde8-afdd6b74acca" type="checkbox" ><label for="11043134-7fd8-4c7e-bde8-afdd6b74acca" class="sk-toggleable__label sk-toggleable__label-arrow">PCA</label><div class="sk-toggleable__content"><pre>PCA(n_components=4)</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="32ce5bac-6707-4686-8a40-bc93658b4edf" type="checkbox" ><label for="32ce5bac-6707-4686-8a40-bc93658b4edf" class="sk-toggleable__label sk-toggleable__label-arrow">SVC</label><div class="sk-toggleable__content"><pre>SVC(kernel=&#x27;linear&#x27;)</pre></div></div></div></div></div></div></div>
    </div>
    <br />
    <br />

.. GENERATED FROM PYTHON SOURCE LINES 91-97

Displaying a Complex Pipeline Chaining a Column Transformer
###############################################################################
 This section constructs a complex :class:`~sklearn.pipeline.Pipeline` with a
 :class:`~sklearn.compose.ColumnTransformer` and a classifier,
 :class:`~sklearn.linear_model.LogisticRegression`, and displays its visual
 representation.

.. GENERATED FROM PYTHON SOURCE LINES 97-133

.. code-block:: default


    import numpy as np
    from sklearn.pipeline import make_pipeline
    from sklearn.pipeline import Pipeline
    from sklearn.impute import SimpleImputer
    from sklearn.compose import ColumnTransformer
    from sklearn.preprocessing import OneHotEncoder, StandardScaler
    from sklearn.linear_model import LogisticRegression
    from sklearn import set_config

    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))








.. GENERATED FROM PYTHON SOURCE LINES 134-135

To visualize the diagram, change to `display='diagram'`

.. GENERATED FROM PYTHON SOURCE LINES 135-138

.. code-block:: default

    set_config(display="diagram")
    pipe  # click on the diagram below to see the details of each step






.. raw:: html

    <div class="output_subarea output_html rendered_html output_result">
    <style>#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 {color: black;background-color: white;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 pre{padding: 0;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-toggleable {background-color: white;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 label.sk-toggleable__label-arrow:before {content: "▸";float: left;margin-right: 0.25em;color: #696969;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-estimator:hover {background-color: #d4ebff;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-serial::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-item {z-index: 1;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-parallel::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-parallel-item:only-child::after {width: 0;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4 div.sk-text-repr-fallback {display: none;}</style><div id="sk-9b64a01e-e219-43e2-ada0-680d2f0d83e4" class="sk-top-container"><div class="sk-text-repr-fallback"><pre>Pipeline(steps=[(&#x27;columntransformer&#x27;,
                     ColumnTransformer(transformers=[(&#x27;categorical&#x27;,
                                                      Pipeline(steps=[(&#x27;imputation_constant&#x27;,
                                                                       SimpleImputer(fill_value=&#x27;missing&#x27;,
                                                                                     strategy=&#x27;constant&#x27;)),
                                                                      (&#x27;onehot&#x27;,
                                                                       OneHotEncoder(handle_unknown=&#x27;ignore&#x27;))]),
                                                      [&#x27;state&#x27;, &#x27;gender&#x27;]),
                                                     (&#x27;numerical&#x27;,
                                                      Pipeline(steps=[(&#x27;imputation_mean&#x27;,
                                                                       SimpleImputer()),
                                                                      (&#x27;scaler&#x27;,
                                                                       StandardScaler())]),
                                                      [&#x27;age&#x27;, &#x27;weight&#x27;])])),
                    (&#x27;logisticregression&#x27;, LogisticRegression(max_iter=500))])</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class="sk-container" hidden><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="4cec0570-e3fc-4e29-9cb2-2de1c343a23f" type="checkbox" ><label for="4cec0570-e3fc-4e29-9cb2-2de1c343a23f" class="sk-toggleable__label sk-toggleable__label-arrow">Pipeline</label><div class="sk-toggleable__content"><pre>Pipeline(steps=[(&#x27;columntransformer&#x27;,
                     ColumnTransformer(transformers=[(&#x27;categorical&#x27;,
                                                      Pipeline(steps=[(&#x27;imputation_constant&#x27;,
                                                                       SimpleImputer(fill_value=&#x27;missing&#x27;,
                                                                                     strategy=&#x27;constant&#x27;)),
                                                                      (&#x27;onehot&#x27;,
                                                                       OneHotEncoder(handle_unknown=&#x27;ignore&#x27;))]),
                                                      [&#x27;state&#x27;, &#x27;gender&#x27;]),
                                                     (&#x27;numerical&#x27;,
                                                      Pipeline(steps=[(&#x27;imputation_mean&#x27;,
                                                                       SimpleImputer()),
                                                                      (&#x27;scaler&#x27;,
                                                                       StandardScaler())]),
                                                      [&#x27;age&#x27;, &#x27;weight&#x27;])])),
                    (&#x27;logisticregression&#x27;, LogisticRegression(max_iter=500))])</pre></div></div></div><div class="sk-serial"><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="51feb3b6-dbc7-4acd-8884-b9c637f3696e" type="checkbox" ><label for="51feb3b6-dbc7-4acd-8884-b9c637f3696e" class="sk-toggleable__label sk-toggleable__label-arrow">columntransformer: ColumnTransformer</label><div class="sk-toggleable__content"><pre>ColumnTransformer(transformers=[(&#x27;categorical&#x27;,
                                     Pipeline(steps=[(&#x27;imputation_constant&#x27;,
                                                      SimpleImputer(fill_value=&#x27;missing&#x27;,
                                                                    strategy=&#x27;constant&#x27;)),
                                                     (&#x27;onehot&#x27;,
                                                      OneHotEncoder(handle_unknown=&#x27;ignore&#x27;))]),
                                     [&#x27;state&#x27;, &#x27;gender&#x27;]),
                                    (&#x27;numerical&#x27;,
                                     Pipeline(steps=[(&#x27;imputation_mean&#x27;,
                                                      SimpleImputer()),
                                                     (&#x27;scaler&#x27;, StandardScaler())]),
                                     [&#x27;age&#x27;, &#x27;weight&#x27;])])</pre></div></div></div><div class="sk-parallel"><div class="sk-parallel-item"><div class="sk-item"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="b80eefe8-8aa9-4fd1-acca-52054ff4594d" type="checkbox" ><label for="b80eefe8-8aa9-4fd1-acca-52054ff4594d" class="sk-toggleable__label sk-toggleable__label-arrow">categorical</label><div class="sk-toggleable__content"><pre>[&#x27;state&#x27;, &#x27;gender&#x27;]</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="ae8e1ae0-2899-4d4b-963b-e63adb66b27c" type="checkbox" ><label for="ae8e1ae0-2899-4d4b-963b-e63adb66b27c" class="sk-toggleable__label sk-toggleable__label-arrow">SimpleImputer</label><div class="sk-toggleable__content"><pre>SimpleImputer(fill_value=&#x27;missing&#x27;, strategy=&#x27;constant&#x27;)</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="6a79de1f-f4ca-483c-9c80-3b9570e38c8a" type="checkbox" ><label for="6a79de1f-f4ca-483c-9c80-3b9570e38c8a" class="sk-toggleable__label sk-toggleable__label-arrow">OneHotEncoder</label><div class="sk-toggleable__content"><pre>OneHotEncoder(handle_unknown=&#x27;ignore&#x27;)</pre></div></div></div></div></div></div></div></div><div class="sk-parallel-item"><div class="sk-item"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="4bbd98c8-3251-45c7-8663-ee6d5408caef" type="checkbox" ><label for="4bbd98c8-3251-45c7-8663-ee6d5408caef" class="sk-toggleable__label sk-toggleable__label-arrow">numerical</label><div class="sk-toggleable__content"><pre>[&#x27;age&#x27;, &#x27;weight&#x27;]</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="7dece29a-634e-4fd6-80c8-84bfa3c52cf2" type="checkbox" ><label for="7dece29a-634e-4fd6-80c8-84bfa3c52cf2" class="sk-toggleable__label sk-toggleable__label-arrow">SimpleImputer</label><div class="sk-toggleable__content"><pre>SimpleImputer()</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="2f8e8f4e-7848-4d44-882f-9e7132a672a3" type="checkbox" ><label for="2f8e8f4e-7848-4d44-882f-9e7132a672a3" class="sk-toggleable__label sk-toggleable__label-arrow">StandardScaler</label><div class="sk-toggleable__content"><pre>StandardScaler()</pre></div></div></div></div></div></div></div></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="71540eaf-cc16-4d05-b797-d29f2813a2b9" type="checkbox" ><label for="71540eaf-cc16-4d05-b797-d29f2813a2b9" class="sk-toggleable__label sk-toggleable__label-arrow">LogisticRegression</label><div class="sk-toggleable__content"><pre>LogisticRegression(max_iter=500)</pre></div></div></div></div></div></div></div>
    </div>
    <br />
    <br />

.. GENERATED FROM PYTHON SOURCE LINES 139-145

Displaying a Grid Search over a Pipeline with a Classifier
###############################################################################
 This section constructs a :class:`~sklearn.model_selection.GridSearchCV`
 over a :class:`~sklearn.pipeline.Pipeline` with
 :class:`~sklearn.ensemble.RandomForestClassifier` and displays its visual
 representation.

.. GENERATED FROM PYTHON SOURCE LINES 145-193

.. code-block:: default


    import numpy as np
    from sklearn.pipeline import make_pipeline
    from sklearn.pipeline import Pipeline
    from sklearn.impute import SimpleImputer
    from sklearn.compose import ColumnTransformer
    from sklearn.preprocessing import OneHotEncoder, StandardScaler
    from sklearn.ensemble import RandomForestClassifier
    from sklearn.model_selection import GridSearchCV
    from sklearn import set_config

    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)








.. GENERATED FROM PYTHON SOURCE LINES 194-195

To visualize the diagram, change to `display='diagram'`.

.. GENERATED FROM PYTHON SOURCE LINES 195-197

.. code-block:: default

    set_config(display="diagram")
    grid_search  # click on the diagram below to see the details of each step





.. raw:: html

    <div class="output_subarea output_html rendered_html output_result">
    <style>#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 {color: black;background-color: white;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 pre{padding: 0;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-toggleable {background-color: white;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 label.sk-toggleable__label-arrow:before {content: "▸";float: left;margin-right: 0.25em;color: #696969;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-estimator:hover {background-color: #d4ebff;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-serial::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-item {z-index: 1;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-parallel::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 2em;bottom: 0;left: 50%;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-parallel-item {display: flex;flex-direction: column;position: relative;background-color: white;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-parallel-item:only-child::after {width: 0;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;position: relative;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-label label {font-family: monospace;font-weight: bold;background-color: white;display: inline-block;line-height: 1.2em;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-label-container {position: relative;z-index: 2;text-align: center;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-32d4ea69-e03f-48af-bbdc-cfec939a0649 div.sk-text-repr-fallback {display: none;}</style><div id="sk-32d4ea69-e03f-48af-bbdc-cfec939a0649" class="sk-top-container"><div class="sk-text-repr-fallback"><pre>GridSearchCV(estimator=Pipeline(steps=[(&#x27;preprocessor&#x27;,
                                            ColumnTransformer(transformers=[(&#x27;categorical&#x27;,
                                                                             Pipeline(steps=[(&#x27;imputation_constant&#x27;,
                                                                                              SimpleImputer(fill_value=&#x27;missing&#x27;,
                                                                                                            strategy=&#x27;constant&#x27;)),
                                                                                             (&#x27;onehot&#x27;,
                                                                                              OneHotEncoder(handle_unknown=&#x27;ignore&#x27;))]),
                                                                             [&#x27;state&#x27;,
                                                                              &#x27;gender&#x27;]),
                                                                            (&#x27;numerical&#x27;,
                                                                             Pipeline(steps=[(&#x27;imputation_mean&#x27;,
                                                                                              SimpleImputer()),
                                                                                             (&#x27;scaler&#x27;,
                                                                                              StandardScaler())]),
                                                                             [&#x27;age&#x27;,
                                                                              &#x27;weight&#x27;])])),
                                           (&#x27;classifier&#x27;,
                                            RandomForestClassifier())]),
                 n_jobs=1,
                 param_grid={&#x27;classifier__criterion&#x27;: [&#x27;gini&#x27;, &#x27;entropy&#x27;],
                             &#x27;classifier__max_depth&#x27;: [4, 5, 6, 7, 8],
                             &#x27;classifier__max_features&#x27;: [&#x27;auto&#x27;, &#x27;sqrt&#x27;, &#x27;log2&#x27;],
                             &#x27;classifier__n_estimators&#x27;: [200, 500]})</pre><b>Please rerun this cell to show the HTML repr or trust the notebook.</b></div><div class="sk-container" hidden><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="4332aeb9-af5a-4f49-8bfa-d1753c0a26cc" type="checkbox" ><label for="4332aeb9-af5a-4f49-8bfa-d1753c0a26cc" class="sk-toggleable__label sk-toggleable__label-arrow">GridSearchCV</label><div class="sk-toggleable__content"><pre>GridSearchCV(estimator=Pipeline(steps=[(&#x27;preprocessor&#x27;,
                                            ColumnTransformer(transformers=[(&#x27;categorical&#x27;,
                                                                             Pipeline(steps=[(&#x27;imputation_constant&#x27;,
                                                                                              SimpleImputer(fill_value=&#x27;missing&#x27;,
                                                                                                            strategy=&#x27;constant&#x27;)),
                                                                                             (&#x27;onehot&#x27;,
                                                                                              OneHotEncoder(handle_unknown=&#x27;ignore&#x27;))]),
                                                                             [&#x27;state&#x27;,
                                                                              &#x27;gender&#x27;]),
                                                                            (&#x27;numerical&#x27;,
                                                                             Pipeline(steps=[(&#x27;imputation_mean&#x27;,
                                                                                              SimpleImputer()),
                                                                                             (&#x27;scaler&#x27;,
                                                                                              StandardScaler())]),
                                                                             [&#x27;age&#x27;,
                                                                              &#x27;weight&#x27;])])),
                                           (&#x27;classifier&#x27;,
                                            RandomForestClassifier())]),
                 n_jobs=1,
                 param_grid={&#x27;classifier__criterion&#x27;: [&#x27;gini&#x27;, &#x27;entropy&#x27;],
                             &#x27;classifier__max_depth&#x27;: [4, 5, 6, 7, 8],
                             &#x27;classifier__max_features&#x27;: [&#x27;auto&#x27;, &#x27;sqrt&#x27;, &#x27;log2&#x27;],
                             &#x27;classifier__n_estimators&#x27;: [200, 500]})</pre></div></div></div><div class="sk-parallel"><div class="sk-parallel-item"><div class="sk-item"><div class="sk-serial"><div class="sk-item"><div class="sk-serial"><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="9bcbbfb7-6900-4d61-8f32-e434c584edb1" type="checkbox" ><label for="9bcbbfb7-6900-4d61-8f32-e434c584edb1" class="sk-toggleable__label sk-toggleable__label-arrow">preprocessor: ColumnTransformer</label><div class="sk-toggleable__content"><pre>ColumnTransformer(transformers=[(&#x27;categorical&#x27;,
                                     Pipeline(steps=[(&#x27;imputation_constant&#x27;,
                                                      SimpleImputer(fill_value=&#x27;missing&#x27;,
                                                                    strategy=&#x27;constant&#x27;)),
                                                     (&#x27;onehot&#x27;,
                                                      OneHotEncoder(handle_unknown=&#x27;ignore&#x27;))]),
                                     [&#x27;state&#x27;, &#x27;gender&#x27;]),
                                    (&#x27;numerical&#x27;,
                                     Pipeline(steps=[(&#x27;imputation_mean&#x27;,
                                                      SimpleImputer()),
                                                     (&#x27;scaler&#x27;, StandardScaler())]),
                                     [&#x27;age&#x27;, &#x27;weight&#x27;])])</pre></div></div></div><div class="sk-parallel"><div class="sk-parallel-item"><div class="sk-item"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="ae757e3f-cbe9-4758-b831-6bd7351f50a2" type="checkbox" ><label for="ae757e3f-cbe9-4758-b831-6bd7351f50a2" class="sk-toggleable__label sk-toggleable__label-arrow">categorical</label><div class="sk-toggleable__content"><pre>[&#x27;state&#x27;, &#x27;gender&#x27;]</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="ff6fb82d-9caf-4306-a678-fd8839732b0f" type="checkbox" ><label for="ff6fb82d-9caf-4306-a678-fd8839732b0f" class="sk-toggleable__label sk-toggleable__label-arrow">SimpleImputer</label><div class="sk-toggleable__content"><pre>SimpleImputer(fill_value=&#x27;missing&#x27;, strategy=&#x27;constant&#x27;)</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="3a43ad32-7f9d-4f95-bed5-b6871e42ecaf" type="checkbox" ><label for="3a43ad32-7f9d-4f95-bed5-b6871e42ecaf" class="sk-toggleable__label sk-toggleable__label-arrow">OneHotEncoder</label><div class="sk-toggleable__content"><pre>OneHotEncoder(handle_unknown=&#x27;ignore&#x27;)</pre></div></div></div></div></div></div></div></div><div class="sk-parallel-item"><div class="sk-item"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="58163a01-2070-4530-b10d-b5bfdf6ee9e6" type="checkbox" ><label for="58163a01-2070-4530-b10d-b5bfdf6ee9e6" class="sk-toggleable__label sk-toggleable__label-arrow">numerical</label><div class="sk-toggleable__content"><pre>[&#x27;age&#x27;, &#x27;weight&#x27;]</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="d209d42d-3826-4108-adff-e797f18b8128" type="checkbox" ><label for="d209d42d-3826-4108-adff-e797f18b8128" class="sk-toggleable__label sk-toggleable__label-arrow">SimpleImputer</label><div class="sk-toggleable__content"><pre>SimpleImputer()</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="dbea9bde-aac0-4c9d-91b7-1f864bf65f85" type="checkbox" ><label for="dbea9bde-aac0-4c9d-91b7-1f864bf65f85" class="sk-toggleable__label sk-toggleable__label-arrow">StandardScaler</label><div class="sk-toggleable__content"><pre>StandardScaler()</pre></div></div></div></div></div></div></div></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="204a3824-a103-489e-8daa-d3c53520e863" type="checkbox" ><label for="204a3824-a103-489e-8daa-d3c53520e863" class="sk-toggleable__label sk-toggleable__label-arrow">RandomForestClassifier</label><div class="sk-toggleable__content"><pre>RandomForestClassifier()</pre></div></div></div></div></div></div></div></div></div></div></div></div>
    </div>
    <br />
    <br />


.. rst-class:: sphx-glr-timing

   **Total running time of the script:** ( 0 minutes  0.160 seconds)


.. _sphx_glr_download_auto_examples_miscellaneous_plot_pipeline_display.py:


.. only :: html

 .. container:: sphx-glr-footer
    :class: sphx-glr-footer-example



  .. container:: sphx-glr-download sphx-glr-download-python

     :download:`Download Python source code: plot_pipeline_display.py <plot_pipeline_display.py>`



  .. container:: sphx-glr-download sphx-glr-download-jupyter

     :download:`Download Jupyter notebook: plot_pipeline_display.ipynb <plot_pipeline_display.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
