Build machine learning model
Build various types of machine learning models, including LDA, LSVM, LSVR, MLR, and third-party models. Supports attribute range specifications, SVD reduction, and various model types. The request body is an `MLContext` object. `ghmm` and `chmm` additionally require a `sequence`-type project, and pass the attribute name as a literal string inside `inputAttributes`/`targets` rather than `inputAttributeNames`/`targetAttributeNames`.
Build various types of machine learning models, including LDA,
LSVM, LSVR, MLR, and third-party models. Supports attribute
range specifications, SVD reduction, and various model types.
The request body is an MLContext object.
ghmm and chmm additionally require a sequence-type
project, and pass the attribute name as a literal string inside
inputAttributes/targets rather than
inputAttributeNames/targetAttributeNames.
Authorization
SymetryMLAuth HMAC-SHA256 signature-based authentication: requests are signed with
your secret key and sent with the Customer-ID, Sym-date,
Authorization, Content-MD5 and sym-version headers.
See SymetryML REST API Security
for the signature algorithm and a complete example.
In: header
Path Parameters
User/Customer identifier
Project identifier
Query Parameters
Machine learning algorithm to use. Must match the request body example selected below.
Value in
- "bayes"
- "chmm"
- "copod"
- "covest"
- "ecod"
- "elasticnet"
- "evt"
- "ghmm"
- "hmm"
- "km"
- "kmeans"
- "lasso"
- "lr"
- "lda"
- "lsvm"
- "lsvr"
- "mc"
- "mlda"
- "mlr"
- "mqda"
- "pcr"
- "plsq"
- "powerreg"
- "ridge"
- "rf_classifier"
- "rf_regressor"
- "rf_anomaly"
- "oospca"
- "hba"
- "repca"
Unique identifier for the model
Apply SVD reduction before building model
falseRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/c1/projects/nbra_prj_iris/build?algo=lda&modelid=nbra_prj_iris_build_1&svdreduce=false" \ -H "Content-Type: application/json" \ -d '{ "inputAttributes": [ 0, 1, 2, 3 ], "targets": [ 12 ], "extraParameters": { "matrix_use_pseudoinv": "false", "sml_rcond_use": "false", "sml_rcond_tolerance": "0.00000000000001" } }'{ "statusCode": 200, "statusString": "Job is finished", "values": {}}{ "statusCode": 202, "statusString": "Job Created", "values": {}}{ "statusCode": 400, "statusString": "Customer[c1] does not have project with name[nonexistent_prj_xyz], ", "values": {}}Auto-select optimal model (dataframe body) POST
Dataframe-body variant of auto-select: instead of a `{dsName}` path segment referencing an already-uploaded data source, the request body carries both the `dataframe` (raw data) and `mlcontext` (`inputAttributes`/`targets`) directly. Attribute resolution still goes through the project's own learned data, not the inline dataframe — the project must already have been `/learn`ed with the same schema; the body's `dataframe` supplies the scoring/validation data. Schedules an asynchronous job (same response shape/status strings as the `{dsName}` variant, including the shared `"SelectModel Job Created"` status string).
Optimize k-means clustering POST
Schedules an asynchronous job that searches for the best k-means `k` within a given range for the project. Note there is **no `{model}` path segment** — this operates on the project as a whole, not a specific existing model. The request body is an `MLContext` object.