REST Resource: projects.locations.featurestores.entityTypes.features

Resource: Feature

Feature Metadata information that describes an attribute of an entity type. For example, apple is an entity type, and color is a feature that describes apple.

JSON representation
{
  "name": string,
  "description": string,
  "valueType": enum (ValueType),
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "etag": string,
  "monitoringConfig": {
    object (FeaturestoreMonitoringConfig)
  },
  "monitoringStats": [
    {
      object (FeatureStatsAnomaly)
    }
  ]
}
Fields
name

string

Immutable. Name of the Feature. Format: projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}/features/{feature}

The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.

description

string

Description of the Feature.

valueType

enum (ValueType)

Required. Immutable. Type of Feature value.

createTime

string (Timestamp format)

Output only. Timestamp when this EntityType was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. Timestamp when this EntityType was most recently updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Optional. The labels with user-defined metadata to organize your Features.

Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed.

See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

etag

string

Used to perform a consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

monitoringConfig

object (FeaturestoreMonitoringConfig)

Optional. The custom monitoring configuration for this Feature, if not set, use the monitoringConfig defined for the EntityType this Feature belongs to. Only Features with type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 can enable monitoring.

If this is populated with [FeaturestoreMonitoringConfig.disabled][] = true, snapshot analysis monitoring is disabled; if [FeaturestoreMonitoringConfig.monitoring_interval][] specified, snapshot analysis monitoring is enabled. Otherwise, snapshot analysis monitoring config is same as the EntityType's this Feature belongs to.

monitoringStats[]

object (FeatureStatsAnomaly)

Output only. A list of historical [Snapshot Analysis][google.cloud.aiplatform.master.FeaturestoreMonitoringConfig.SnapshotAnalysis] stats requested by user, sorted by FeatureStatsAnomaly.start_time descending.

ValueType

An enum representing the value type of a feature.

Enums
VALUE_TYPE_UNSPECIFIED The value type is unspecified.
BOOL Used for Feature that is a boolean.
BOOL_ARRAY Used for Feature that is a list of boolean.
DOUBLE Used for Feature that is double.
DOUBLE_ARRAY Used for Feature that is a list of double.
INT64 Used for Feature that is INT64.
INT64_ARRAY Used for Feature that is a list of INT64.
STRING Used for Feature that is string.
STRING_ARRAY Used for Feature that is a list of String.
BYTES Used for Feature that is bytes.

FeatureStatsAnomaly

Stats and Anomaly generated at specific timestamp for specific Feature. The startTime and endTime are used to define the time range of the dataset that current stats belongs to, e.g. prediction traffic is bucketed into prediction datasets by time window. If the Dataset is not defined by time window, startTime = endTime. Timestamp of the stats and anomalies always refers to endTime. Raw stats and anomalies are stored in statsUri or anomalyUri in the tensorflow defined protos. Field dataStats contains almost identical information with the raw stats in Vertex AI defined proto, for UI to display.

JSON representation
{
  "score": number,
  "statsUri": string,
  "anomalyUri": string,
  "distributionDeviation": number,
  "anomalyDetectionThreshold": number,
  "startTime": string,
  "endTime": string
}
Fields
score

number

Feature importance score, only populated when cross-feature monitoring is enabled. For now only used to represent feature attribution score within range [0, 1] for ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW and ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT.

statsUri

string

Path of the stats file for current feature values in Cloud Storage bucket. Format: gs:////stats. Example: gs://monitoring_bucket/feature_name/stats. Stats are stored as binary format with Protobuf message tensorflow.metadata.v0.FeatureNameStatistics.

anomalyUri

string

Path of the anomaly file for current feature values in Cloud Storage bucket. Format: gs:////anomalies. Example: gs://monitoring_bucket/feature_name/anomalies. Stats are stored as binary format with Protobuf message Anoamlies are stored as binary format with Protobuf message tensorflow.metadata.v0.AnomalyInfo.

distributionDeviation

number

Deviation from the current stats to baseline stats. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence.

anomalyDetectionThreshold

number

This is the threshold used when detecting anomalies. The threshold can be changed by user, so this one might be different from ThresholdConfig.value.

startTime

string (Timestamp format)

The start timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), startTime is only used to indicate the monitoring intervals, so it always equals to (endTime - monitoringInterval).

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

endTime

string (Timestamp format)

The end timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), endTime indicates the timestamp of the data used to generate stats (e.g. timestamp we take snapshots for feature values).

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

Methods

batchCreate

Creates a batch of Features in a given EntityType.

create

Creates a new Feature in a given EntityType.

delete

Deletes a single Feature.

get

Gets details of a single Feature.

list

Lists Features in a given EntityType.

patch

Updates the parameters of a single Feature.