Click here for all valid model types and metric combinations.
Case #1 - Supports Only Classification Metrics
Example Row
state
pos_approved
zip_code
age
prediction_label
actual_label
prediction_ts
ca
True
12345
25
not_fraud
fraud
Code Example
# feature & tag columns can be optionally defined with typing:tag_columns =TypedColumns( inferred=["name"], to_int=["zip_code", "age"])schema =Schema( prediction_id_column_name="prediction_id", timestamp_column_name="prediction_ts", prediction_label_column_name="prediction_label", actual_label_column_name="actual_label", feature_column_names=["state", "pos_approved"], tag_column_names=tag_columns,)response = arize_client.log( model_id='sample-model-1', model_version='v1', model_type=ModelTypes.BINARY_CLASSIFICATION, metrics_validation=[Metrics.CLASSIFICATION], environment=Environments.PRODUCTION, dataframe=example_dataframe, schema=schema)
For more details on Python Batch API Reference, visit here:
Code Example
# features & tags can be optionally defined with typingfeatures ={'state':'ca','pos_approved':TypedValue(value=True, type=ArizeTypes.INT)}tags ={'zip_code':'12345','age':'25'}response = arize_client.log( model_id='sample-model-1', model_version='v1', model_type=ModelTypes.BINARY_CLASSIFICATION, environment=Environments.PRODUCTION, features=features, tags=tags, prediction_label="not fraud", actual_label="fraud")
For more information on Python Single Record Logging API Reference, visit here:
Download an example Parquet file:Open parquet reader here.
Learn how to upload files via various Data Connectors:
Case #2 - Supports Classification & AUC/Log Loss Metrics
Example Row
state
pos_approved
zip_code
age
prediction_label
actual_label
prediction_score
prediction_tsa
ca
True
12345
25
not_fraud
fraud
0.3
Code Example
# feature & tag columns can be optionally defined with typing:tag_columns =TypedColumns( inferred=["name"], to_int=["zip_code", "age"])schema =Schema( prediction_id_column_name="prediction_id", timestamp_column_name="prediction_ts", prediction_label_column_name="prediction_label", prediction_score_column_name="prediction_score", actual_label_column_name="actual_label", feature_column_names=["state", "pos_approved"], tag_column_names=tag_columns,)response = arize_client.log( model_id='sample-model-1', model_version='v1', model_type=ModelTypes.BINARY_CLASSIFICATION, metrics_validation=[Metrics.CLASSIFICATION, Metrics.AUC_LOG_LOSS], environment=Environments.PRODUCTION, dataframe=test_dataframe, schema=schema,)
For more details on Python Batch API Reference, visit here:
Code Example
features ={'state':'ca','pos_approved':True,'item_count':10}# features & tags can be optionally defined with typing tags ={'zip_code':TypedValue(value='12345', type=ArizeTypes.INT),'age':'25'}response = arize_client.log( model_id='sample-model-1', model_version='v1', model_type=ModelTypes.BINARY_CLASSIFICATION, environment=Environments.PRODUCTION, features=features, tags=tags, prediction_label=("not fraud", 0.3), actual_label="fraud")
For more information on Python Single Record Logging API Reference, visit here:
Download an example Parquet file:Open parquet reader here.
Learn how to upload files via various Data Connectors:
Case #3: Supports AUC & Log Loss Metrics
Example Row
state
pos_approved
zip_code
age
actual_label
prediction_score
prediction_ts
ca
True
12345
25
fraud
0.3
Code Example
# feature & tag columns can be optionally defined with typing:tag_columns =TypedColumns( inferred=["name"], to_int=["zip_code", "age"])schema =Schema( prediction_id_column_name="prediction_id", timestamp_column_name="prediction_ts", prediction_score_column_name="prediction_score", actual_label_column_name="actual_label", feature_column_names=["state", "pos_approved"], tag_column_names=tag_columns,)response = arize_client.log( model_id='sample-model-1', model_version='v1', model_type=ModelTypes.BINARY_CLASSIFICATION, metrics_validation=[Metrics.CLASSIFICATION, Metrics.REGRESSION, Metrics.AUC_LOG_LOSS], environment=Environments.PRODUCTION, dataframe=test_dataframe, schema=schema,)
For more details on Python Pandas API Reference, visit here:
To declareprediction_scoreONLY, pass a tuple of an empty string and your prediction_score through the prediction_label argument.
Code Example
# features & tags can be optionally defined with typingfeatures ={'state':'ca','pos_approved':TypedValue(value=True, type=ArizeTypes.INT)}tags ={'zip_code':'12345','age':'25'}response = arize_client.log( model_id='sample-model-1', model_version='v1', model_type=ModelTypes.BINARY_CLASSIFICATION, environment=Environments.PRODUCTION, features=features, tags=tags, prediction_label=("", 0.3), actual_label="fraud",)
For more information on Python Single Record Logging API Reference, visit here:
Default Actuals
For some use cases, it may be important to treat a prediction for which no corresponding actual label has been logged yet as having a default negative class actual label.
For example, consider tracking advertisement conversion rates for an ad clickthrough rate model, where the positive class is click and the negative class is no_click. For ad conversion purposes, a prediction without a correspondingactual label for an ad placement is equivalent to logging an explicit no_click actual label for the prediction. In both cases, the result is the same: a user has not converted by clicking on the ad.
For AUC-ROC, PR-AUC, and Log Loss performance metrics, Arize supports treating predictions without an explicit actual label as having the negative class actual label by default. In the above example, a click prediction without an actual would be treated as a false positive, because the missing actual for the prediction would, by default, be assigned to the no_click negative class.
This feature can be enabled for monitors and dashboards via the model performance config section of your model's config page.
Quick Definitions
Prediction Label: The classification label of this event (Cardinality = 2)
Actual Label: The ground truth label (Cardinality = 2)
Prediction Score: The likelihood of the event (Probability between 0 to 1)