.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/mlearning/clustering_model/plot_gaussian_mixture.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_mlearning_clustering_model_plot_gaussian_mixture.py: Gaussian Mixtures ================= Load Iris dataset and create clusters. .. GENERATED FROM PYTHON SOURCE LINES 30-41 .. code-block:: default from __future__ import division, unicode_literals from numpy import array from gemseo.api import configure_logger, load_dataset from gemseo.core.dataset import Dataset from gemseo.mlearning.api import create_clustering_model configure_logger() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 42-45 Create dataset -------------- We import the Iris benchmark dataset through the API. .. GENERATED FROM PYTHON SOURCE LINES 45-55 .. code-block:: default iris = load_dataset("IrisDataset") # Extract inputs as a new dataset data = iris.get_data_by_group(iris.PARAMETER_GROUP) variables = iris.get_names(iris.PARAMETER_GROUP) print(variables) dataset = Dataset("sepal_and_petal") dataset.set_from_array(data, variables) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none ['sepal_length', 'sepal_width', 'petal_length', 'petal_width'] .. GENERATED FROM PYTHON SOURCE LINES 56-60 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 60-64 .. code-block:: default model = create_clustering_model("GaussianMixture", data=dataset, n_components=3) model.learn() print(model) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none GaussianMixture(n_components=3, var_names=None) built from 150 learning samples .. GENERATED FROM PYTHON SOURCE LINES 65-68 Predict output -------------- Once it is built, we can use it for prediction. .. GENERATED FROM PYTHON SOURCE LINES 68-77 .. 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 Out: .. code-block:: none 2 .. GENERATED FROM PYTHON SOURCE LINES 78-81 Plot clusters ------------- Show cluster labels .. GENERATED FROM PYTHON SOURCE LINES 81-85 .. code-block:: default dataset.add_variable( "gm_specy", model.labels.reshape((-1, 1)), group="labels", cache_as_input=False ) dataset.plot("ScatterMatrix", kde=True, classifier="gm_specy") .. rst-class:: sphx-glr-script-out Out: .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/gemseo/conda/3.2.0/lib/python3.8/site-packages/gemseo/post/dataset/scatter_plot_matrix.py:135: FutureWarning: In a future version of pandas all arguments of DataFrame.drop except for the argument 'labels' will be keyword-only dataframe = dataframe.drop(varname, 1) .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.688 seconds) .. _sphx_glr_download_examples_mlearning_clustering_model_plot_gaussian_mixture.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_gaussian_mixture.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_gaussian_mixture.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_