Analyze data drift between two projects
The request body is an `MLContext` whose `extraParameters` map carries: - **`drift_pref_project_name`** (required): the reference/baseline project. - **`drift_analysis_project_name`** (required): the project being analyzed for drift. May also be the literal value `rollingWindowEmbeddedProject`, to use the reference project's embedded rolling-window project. - **`drift_metric`** (optional, default `mahalanobis`): one of `mahalanobis`, `marginal_stat`, `marginal_non_stat`, or `pca_reconstruction_error`. - **`drift_confidence`** (optional, default `0.95`): applies to the `mahalanobis` and `marginal_stat` metrics. - Advanced `mahalanobis`-only tuning parameters, all optional: `drift_regularize`, `drift_force_spd`, `drift_filter_for_rank`, `drift_do_pca`, `drift_pca_explained_var`, `drift_sensitivity`, and `drift_do_frobenius`. `inputAttributeNames` is required (only the first name is used) when `drift_metric` is `marginal_stat` or `marginal_non_stat`. It is optional for `mahalanobis` and `pca_reconstruction_error`, where all attributes are used when omitted. The response's `KSVDMap` keys are metric-specific: each `drift_metric` returns a different set of score names, as shown in the examples below.
The request body is an MLContext whose extraParameters map carries:
drift_pref_project_name(required): the reference/baseline project.drift_analysis_project_name(required): the project being analyzed for drift. May also be the literal valuerollingWindowEmbeddedProject, to use the reference project's embedded rolling-window project.drift_metric(optional, defaultmahalanobis): one ofmahalanobis,marginal_stat,marginal_non_stat, orpca_reconstruction_error.drift_confidence(optional, default0.95): applies to themahalanobisandmarginal_statmetrics.- Advanced
mahalanobis-only tuning parameters, all optional:drift_regularize,drift_force_spd,drift_filter_for_rank,drift_do_pca,drift_pca_explained_var,drift_sensitivity, anddrift_do_frobenius.
inputAttributeNames is required (only the first name is used) when
drift_metric is marginal_stat or marginal_non_stat. It is
optional for mahalanobis and pca_reconstruction_error, where all
attributes are used when omitted.
The response's KSVDMap keys are metric-specific: each drift_metric
returns a different set of score names, as shown in the examples below.
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
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/c1/projects/dataDrift" \ -H "Content-Type: application/json" \ -d '{ "inputAttributeNames": [ "Elevation", "Aspect", "Slope", "Horizontal_Distance_To_Roadways" ], "extraParameters": { "drift_pref_project_name": "test_drift_reference", "drift_analysis_project_name": "test_drift_analysis", "drift_metric": "mahalanobis", "drift_regularize": "false", "drift_confidence": "0.95", "drift_force_spd": "false", "drift_filter_for_rank": "false", "drift_do_pca": "true", "drift_pca_explained_var": "0.95", "drift_sensitivity": "strict", "drift_do_frobenius": "true" } }'{ "statusCode": 200, "statusString": "OK", "values": { "KSVDMap": { "values": [ { "equal_cov_f2": 1.0862525778127035, "equal_cov_f2_std": 0.000011685739380477538, "equal_cov_critical_value": 1.561615736369221, "equal_is_drift": 0, "equal_threshold_std": 0.1, "unequal_cov_f2": 1.0983680365255712, "unequal_cov_f2_std": 0.00001181806230396324, "unequal_cov_critical_value": 1.561697284224015, "unequal_is_drift": 0, "unequal_threshold_std": 0.1, "drift_confidence_used": 0.99, "drift_covariance_is_unequal_fro": 1, "drift_effective_size_hotelling": 1 } ] } }}{ "statusCode": 500, "statusString": "Generic Exception [java.lang.IllegalArgumentException: Invalid case: not_a_real_metric is not supported]", "values": {}}List drift calculators GET
The response's `values.stringList` field is a `StringList`.
Estimate performance drift between two projects POST
Scores a validation project and a production project against the same target and metric, so their performance can be compared — e.g. to check whether the production model's performance has drifted relative to the validation baseline. The request body is an inline object (not a named schema) with required `prodDf` and `valDf` fields, both of type `DataFrame`. The response's `KSVDMap` field carries the metric scores; its keys depend on `metric`: - **`accuracy`, `precision`, `recall`, `f1`, `specificity`**: a single key matching the metric name. - **`roc_curve`**: `auc`, `youden_threshold`, and one `FPR:<threshold>`/`TPR:<threshold>` pair per distinct score value in the production data. - **`precrec_curve`**: `ap`, `f1_threshold`, and one `precision:<threshold>`/`recall:<threshold>` pair per distinct score value.