Classification API

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

from __future__ import division, unicode_literals

from gemseo.api import configure_logger, load_dataset
from gemseo.mlearning.api import (
    create_classification_model,
    get_classification_models,
    get_classification_options,
)

configure_logger()

Out:

<RootLogger root (INFO)>

Get available classification models

print(get_classification_models())

Out:

['KNNClassifier', 'RandomForestClassifier', 'SVMClassifier']

Get classification model options

print(get_classification_options("KNNClassifier"))

Out:

+---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
|            Name           |                                        Description                                         |            Type           |
+---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
|        input_names        |  The names of the input variables. if none, consider all input variables mentioned in the  |            null           |
|                           |                                     learning dataset.                                      |                           |
|        n_neighbors        |                                  The number of neighbors.                                  |          integer          |
|        output_names       | The names of the output variables. if none, consider all input variables mentioned in the  |            null           |
|                           |                                     learning dataset.                                      |                           |
|        transformer        |           The strategies to transform the variables. the values are instances of           |            null           |
|                           |  :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 none, do not transform the variables.                       |                           |
+---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
    INFO - 14:40:45: +---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
    INFO - 14:40:45: |            Name           |                                        Description                                         |            Type           |
    INFO - 14:40:45: +---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
    INFO - 14:40:45: |        input_names        |  The names of the input variables. if none, consider all input variables mentioned in the  |            null           |
    INFO - 14:40:45: |                           |                                     learning dataset.                                      |                           |
    INFO - 14:40:45: |        n_neighbors        |                                  The number of neighbors.                                  |          integer          |
    INFO - 14:40:45: |        output_names       | The names of the output variables. if none, consider all input variables mentioned in the  |            null           |
    INFO - 14:40:45: |                           |                                     learning dataset.                                      |                           |
    INFO - 14:40:45: |        transformer        |           The strategies to transform the variables. the values are instances of           |            null           |
    INFO - 14:40:45: |                           |  :class:`.transformer` while the keys are the names of either the variables or the groups  |                           |
    INFO - 14:40:45: |                           |  of variables, e.g. "inputs" or "outputs" in the case of the regression algorithms. if a   |                           |
    INFO - 14:40:45: |                           | group is specified, the :class:`.transformer` will be applied to all the variables of this |                           |
    INFO - 14:40:45: |                           |                      group. if none, do not transform the variables.                       |                           |
    INFO - 14:40:45: +---------------------------+--------------------------------------------------------------------------------------------+---------------------------+
{'$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 None, do not transform the variables.', 'type': 'null'}, 'input_names': {'description': 'The names of the input variables. If None, consider all input variables mentioned in the learning dataset.', 'type': 'null'}, 'output_names': {'description': 'The names of the output variables. If None, consider all input variables mentioned in the learning dataset.', 'type': 'null'}, 'n_neighbors': {'description': 'The number of neighbors.', 'type': 'integer'}}, 'required': ['n_neighbors']}

Create classification model

iris = load_dataset("IrisDataset", as_io=True)

model = create_classification_model("KNNClassifier", data=iris)
model.learn()

print(model)

Out:

KNNClassifier(n_neighbors=5)
   based on the scikit-learn library
   built from 150 learning samples

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

Gallery generated by Sphinx-Gallery