SymetryML Documentation
Models

Reduce model complexity

Schedules an asynchronous job that builds a **new** model via heuristic attribute-selection search over the given input attributes/target — the same kind of search `SELECT`/`AUTOSELECT` perform, not a size-reduction of a pre-existing model. Despite the name, no existing model is read or referenced anywhere in this request; `modelid` names the model this call creates. Note the path has **no `{model}` segment**. The request body is an `MLContext` object.

POST
/{user}/projects/{project}/reduce

Schedules an asynchronous job that builds a new model via heuristic attribute-selection search over the given input attributes/target — the same kind of search SELECT/AUTOSELECT perform, not a size-reduction of a pre-existing model. Despite the name, no existing model is read or referenced anywhere in this request; modelid names the model this call creates. Note the path has no {model} segment. The request body is an MLContext object.

Authorization

SymetryMLAuth
AuthorizationBearer <token>

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*string

User/Customer identifier

project*string

Project identifier

Query Parameters

modelid*string

Name to assign to the newly-built model. Must be a non-empty alphanumeric string — does not reference an existing model.

heuristic*string

Reduction heuristic to apply. meta is only valid for a project type that allows meta models; otherwise the request is rejected with 400.

algo?string

Algorithm type passed through to the reduction job.

delta?number

Learning rate delta for the reduction algorithm. Defaults to 0.001 if omitted.

Formatdouble
Default0.001
numIterations?integer

Number of iterations for the reduction algorithm. Defaults to 5 if omitted or non-positive.

Default5

Request 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/reduce?modelid=nbra_prj_iris_1&heuristic=default&algo=lda" \  -H "Content-Type: application/json" \  -d '{    "targets": [      "13"    ],    "inputAttributes": [      "*"    ]  }'
{  "statusCode": 202,  "statusString": "Reduce Job Created",  "values": {}}

{  "statusCode": 400,  "statusString": "Heuristic for reduce is missing.",  "values": {}}

{  "statusCode": 500,  "statusString": "Generic Exception [java.lang.NullPointerException: Cannot invoke \"com.rtlm.core.projects.SymetryProject.allowsMetaModels()\" because \"p\" is null]",  "values": {}}