API

Here are some examples of the machine learning API applied to clustering models.

Import

from __future__ import annotations

from gemseo.api import configure_logger
from gemseo.api import load_dataset
from gemseo.mlearning.api import create_clustering_model
from gemseo.mlearning.api import get_clustering_models
from gemseo.mlearning.api import get_clustering_options

configure_logger()
<RootLogger root (INFO)>

Get available clustering models

print(get_clustering_models())
['GaussianMixture', 'KMeans']

Get clustering model options

print(get_clustering_options("GaussianMixture"))
+---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
|            Name           |                                        Description                                         |            Type           |
+---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
|        n_components       |                     The number of components of the gaussian mixture.                      |          integer          |
|        transformer        |           The strategies to transform the variables. the values are instances of           |           object          |
|                           |  :class:`.transformer` while the keys are the names of either the variables or the groups  |                           |
|                           | of variables, e.g. ``"inputs"`` or ``"outputs"`` in the case of the regression algorithms. |                           |
|                           | if a group is specified, the :class:`.transformer` will be applied to all the variables of |                           |
|                           |             this group. if :attr:`.identity`, do not transform the variables.              |                           |
|         var_names         | The names of the variables. if ``none``, consider all variables mentioned in the learning  |            null           |
|                           |                                          dataset.                                          |                           |
+---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
    INFO - 16:59:17: +---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
    INFO - 16:59:17: |            Name           |                                        Description                                         |            Type           |
    INFO - 16:59:17: +---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
    INFO - 16:59:17: |        n_components       |                     The number of components of the gaussian mixture.                      |          integer          |
    INFO - 16:59:17: |        transformer        |           The strategies to transform the variables. the values are instances of           |           object          |
    INFO - 16:59:17: |                           |  :class:`.transformer` while the keys are the names of either the variables or the groups  |                           |
    INFO - 16:59:17: |                           | of variables, e.g. ``"inputs"`` or ``"outputs"`` in the case of the regression algorithms. |                           |
    INFO - 16:59:17: |                           | if a group is specified, the :class:`.transformer` will be applied to all the variables of |                           |
    INFO - 16:59:17: |                           |             this group. if :attr:`.identity`, do not transform the variables.              |                           |
    INFO - 16:59:17: |         var_names         | The names of the variables. if ``none``, consider all variables mentioned in the learning  |            null           |
    INFO - 16:59:17: |                           |                                          dataset.                                          |                           |
    INFO - 16:59:17: +---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
{'$schema': 'http://json-schema.org/schema#', 'type': 'object', 'properties': {'transformer': {'description': 'The strategies to transform the variables. The values are instances of :class:`.Transformer` while the keys are the names of either the variables or the groups of variables, e.g. ``"inputs"`` or ``"outputs"`` in the case of the regression algorithms. If a group is specified, the :class:`.Transformer` will be applied to all the variables of this group. If :attr:`.IDENTITY`, do not transform the variables.', 'type': 'object'}, 'var_names': {'description': 'The names of the variables. If ``None``, consider all variables mentioned in the learning dataset.', 'type': 'null'}, 'n_components': {'description': 'The number of components of the Gaussian mixture.', 'type': 'integer'}}, 'required': ['n_components', 'transformer']}

Create clustering model

iris = load_dataset("IrisDataset")

model = create_clustering_model("KMeans", data=iris, n_clusters=3)
model.learn()

print(model)
KMeans(n_clusters=3, random_state=0, var_names=None)
   based on the scikit-learn library
   built from 150 learning samples

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

Gallery generated by Sphinx-Gallery