Skip to main content


Creates an ML configuration.


CREATE [ OR REPLACE ] ML CONFIGURATION ml-configuration-name PROVIDER provider-name
            [ %DESCRIPTION description] [ USING json-object-string ]
            [ provider-connection-settings ]


ml-configuration-name The name for the ML configuration being created. A valid identifier, subject to the same additional naming restrictions as a table name. An ML configuration name is unqualified (mlconfig-name). An unqualified ML configuration name takes the default schema name.
PROVIDER provider-name A string specifying the name of a machine learning provider, where values are:
  • AutoML

  • H2O

  • DataRobot

  • PMML

%DESCRIPTION description Optional — String. A text description for the ML configuration. See details below.
USING json-object-string Optional — A JSON string specifying one or more key-value pairs; see details below.
provider-connection-settings Any additional settings, required for connection, that vary by the machine learning provider. See details below.


The CREATE ML CONFIGURATION command creates an ML configuration for training models. You can specify one or more of the following properties:

ML Configuration Description

%DESCRIPTION accepts a text string enclosed in single quotes, which you can use to provide a description for documenting your configuration. This text can be of any length, and can contain any characters, including blank spaces.


You can specify a default USING clause for your configuration. This clause accepts a JSON string with one or more key-value pairs. When TRAIN MODEL is executed, by default the USING clause of the configuration is used.

You must make sure that the parameters you specify are recognized by the provider you select. Failing to do so may result in an error when training.

An example with H2O as the provider:

CREATE ML CONFIGURATION h2o_config PROVIDER H2O USING {"seed":100, "nfolds":4}

Provider Connection Settings

Depending on the provider specified by your configuration, there may be additional fields you must enter to establish a successful connection.


You must specify the following values to successfully connect to DataRobot:

  • URL [ = ] url-string — where url-string is the URL of a DataRobot endpoint.

  • APITOKEN [ = ] token-string — where token-string is your client API token to access the DataRobot AutoML server.

A complete ML configuration for DataRobot could be created with a query as follows:

CREATE ML CONFIGURATION datarobot-configuration PROVIDER DataRobot1 URL url-string APITOKEN token-string

With proper values for url-string and token-string

Required Security Privileges

Calling CREATE ML CONFIGURATION requires %CREATE_ML_CONFIGURATION privileges; otherwise, there is a SQLCODE –99 error (Privilege Violation). To assign %CREATE_ML_CONFIGURATION privileges, use the GRANT command.

Configuration Naming Conventions

Configuration names follow identifier conventions, subject to the restrictions below. By default, configuration names are simple identifiers. A configuration name should not exceed 256 characters. Configuration names are not case-sensitive.

InterSystems IRIS® uses the configuration name to generate a corresponding class name. A class name contains only alphanumeric characters (letters and numbers) and must be unique within the first 96 characters. To generate this class name, InterSystems IRIS first strips punctuation characters from the configuration name, and then generates an identifier that is unique within the first 96 characters, substituting an integer (beginning with 0) for the final character when needed to create a unique class name. InterSystems IRIS generates a unique class name from a valid configuration name, but this name generation imposes the following restrictions on the naming of configurations:

  • A configuration name must include at least one letter. Either the first character of the view name or the first character after initial punctuation characters must be a letter

  • InterSystems IRIS supports 16-bit (wide) characters for configuration names. A character is a valid letter if it passes the $ZNAME test.

  • If the first character of the configuration name is a punctuation character, the second character cannot be a number. This results in an SQLCODE -400 error, with a %msg value of “ERROR #5053: Class name '' is invalid” (without the punctuation character). For example, specifying the configuration name %7A generates the %msg “ERROR #5053: Class name 'User.7A' is invalid”.

  • Because generated class names do not include punctuation characters, it is not advisable (though possible) to create a configuration name that differs from an existing configuration name only in its punctuation characters. In this case, InterSystems IRIS substitutes an integer (beginning with 0) for the final character of the name to create a unique class name.

  • A configuration name may be much longer than 96 characters, but configuration names that differ in their first 96 alphanumeric characters are much easier to work with.

A configuration name can only be unqualified. An unqualified configuration name (viewname ) takes the system-wide default schema name.

If you would like to redefine an ML configuration to use the same name, you can specify the OR REPLACE option to replace a pre-existing ML configuration with different behavior.



See Also

FeedbackOpens in a new tab