SymetryML Documentation
Exploration

Explore data

Perform various statistical analyses and data exploration including univariate, bivariate, chi-square tests, z-tests (including known-mean/proportion variants), t-tests, F-tests, ANOVA, and information gain. Supports both attribute indices and names. Unlike VIF/SVD/PCA/SVD-feature-selection, this endpoint can run **synchronously**: when `async` is omitted or `false`, the result is returned directly in this response, wrapped the same way a Job Status Response would be (`values.KSVDMap`, plus `values.smlInfo` when `returnProjectInfo` is true). When `async=true`, this call instead returns `202` and the result must be fetched from [Get job information](/docs/api-reference/jobs/jobs-jobid-get). The request body is an **ExploreContext** object: `{"values": [<MLContext>, ...]}` — one `MLContext` entry per exploration to run in this call.

POST
/{user}/projects/{project}/explore

Perform various statistical analyses and data exploration including univariate, bivariate, chi-square tests, z-tests (including known-mean/proportion variants), t-tests, F-tests, ANOVA, and information gain. Supports both attribute indices and names.

Unlike VIF/SVD/PCA/SVD-feature-selection, this endpoint can run synchronously: when async is omitted or false, the result is returned directly in this response, wrapped the same way a Job Status Response would be (values.KSVDMap, plus values.smlInfo when returnProjectInfo is true). When async=true, this call instead returns 202 and the result must be fetched from Get job information.

The request body is an ExploreContext object: {"values": [<MLContext>, ...]} — one MLContext entry per exploration to run in this call.

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

metric*string

Type of statistical analysis to perform. ztestmu/ttestmu/ftestsigma are the known-mean/known-sigma variants (require a matching extraParameters key — see the ztest_with_known_mean example); gain is information gain (its response groups results by base attribute name, not one entry per values[] item — see the gain_result example). chi2 has two modes: with targets non-empty, it's a rows×cols contingency-table test over indices/names (chi2_test/chi2_by_name); with targets empty, it's a goodness-of-fit test reading literal category names directly from inputAttributes (chi2_goodness_of_fit).

Value in

  • "uni"
  • "bi"
  • "gain"
  • "anova"
  • "ztest"
  • "ztestp"
  • "ztestmu"
  • "ttest"
  • "ttestmu"
  • "ftest"
  • "ftestsigma"
  • "chi2"
useLocal?boolean

For a federated project, use the local project instead of resolving a peer

returnProjectInfo?boolean

Include the project's ProjectInfo (values.smlInfo) alongside the result

Defaulttrue
async?boolean

Execute analysis asynchronously (returns 202 with sym-job-id instead of the result)

Defaultfalse

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/explore?metric=uni&useLocal=true" \  -H "Content-Type: application/json" \  -d '{    "values": [      {        "inputAttributes": [          "0"        ],        "targets": [],        "extraParameters": {}      }    ]  }'

{  "statusCode": 200,  "statusString": "OK",  "values": {    "smlInfo": {      "pid": "nbra_prj_iris",      "attributeNames": [        "sepal_length",        "sepal_width",        "petal_length",        "petal_width"      ],      "type": "cpu"    },    "KSVDMap": {      "values": [        {          "min": 4.3,          "median": 5.800000000000001,          "variance": 0.6811,          "max": 7.9,          "mean": 5.8433,          "count": 150,          "skewness": 0.3181,          "meanMarginErrorC95": 0.1332,          "stddev": 0.8253,          "stderr": 0.0674        }      ]    }  }}

{  "statusCode": 202,  "statusString": "Job Created",  "values": {}}
{  "statusCode": 400,  "statusString": "bad metric:[bogus]",  "values": {}}