.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/mlearning/clustering_model/plot_kmeans.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 .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_mlearning_clustering_model_plot_kmeans.py: K-means ======= Load Iris dataset and create clusters. .. GENERATED FROM PYTHON SOURCE LINES 29-31 Import ------ .. GENERATED FROM PYTHON SOURCE LINES 31-43 .. code-block:: default from __future__ import annotations from gemseo import configure_logger from gemseo import create_benchmark_dataset from gemseo.datasets.dataset import Dataset from gemseo.mlearning import create_clustering_model from gemseo.post.dataset.scatter_plot_matrix import ScatterMatrix from numpy import array configure_logger() .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 44-47 Create dataset -------------- We import the Iris benchmark dataset through the API. .. GENERATED FROM PYTHON SOURCE LINES 47-56 .. code-block:: default iris = create_benchmark_dataset("IrisDataset") # Extract inputs as a new dataset data = iris.get_view(group_names=iris.PARAMETER_GROUP).to_numpy() variables = iris.get_variable_names(iris.PARAMETER_GROUP) print(variables) dataset = Dataset.from_array(data, variables) .. rst-class:: sphx-glr-script-out .. code-block:: none ['petal_length', 'petal_width', 'sepal_length', 'sepal_width'] .. GENERATED FROM PYTHON SOURCE LINES 57-61 Create clustering model ----------------------- We know that there are three classes of Iris plants. We will thus try to identify three clusters. .. GENERATED FROM PYTHON SOURCE LINES 61-65 .. code-block:: default model = create_clustering_model("KMeans", data=dataset, n_clusters=3) model.learn() print(model) .. rst-class:: sphx-glr-script-out .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/gemseo/envs/5.0.1/lib/python3.9/site-packages/sklearn/cluster/_kmeans.py:870: FutureWarning: The default value of `n_init` will change from 10 to 'auto' in 1.4. Set the value of `n_init` explicitly to suppress the warning warnings.warn( KMeans(n_clusters=3, random_state=0, var_names=None) based on the scikit-learn library built from 150 learning samples .. GENERATED FROM PYTHON SOURCE LINES 66-69 Predict output -------------- Once it is built, we can use it for prediction. .. GENERATED FROM PYTHON SOURCE LINES 69-78 .. code-block:: default input_value = { "sepal_length": array([4.5]), "sepal_width": array([3.0]), "petal_length": array([1.0]), "petal_width": array([0.2]), } output_value = model.predict(input_value) print(output_value) .. rst-class:: sphx-glr-script-out .. code-block:: none 0 .. GENERATED FROM PYTHON SOURCE LINES 79-82 Plot clusters ------------- Show cluster labels .. GENERATED FROM PYTHON SOURCE LINES 82-84 .. code-block:: default dataset.add_variable("km_specy", model.labels.reshape((-1, 1)), "labels") ScatterMatrix(dataset, kde=True, classifier="km_specy").execute(save=False, show=True) .. image-sg:: /examples/mlearning/clustering_model/images/sphx_glr_plot_kmeans_001.png :alt: plot kmeans :srcset: /examples/mlearning/clustering_model/images/sphx_glr_plot_kmeans_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/gemseo/envs/5.0.1/lib/python3.9/site-packages/gemseo/post/dataset/scatter_plot_matrix.py:137: UserWarning: To output multiple subplots, the figure containing the passed axes is being cleared. sub_axes = scatter_matrix( [
] .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.825 seconds) .. _sphx_glr_download_examples_mlearning_clustering_model_plot_kmeans.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_kmeans.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_kmeans.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_