將特徵和記錄新增至特徵群組中 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將特徵和記錄新增至特徵群組中

您可以使用 Amazon SageMaker Feature Store API 或 主控台來更新和描述您的功能群組,以及將功能和記錄新增至您的功能群組。特徵群組是包含資料的物件,而特徵描述資料表中的欄。當您將特徵加入至特徵群組時,您可以有效地將欄加入至資料表中。將新記錄加入至特徵群組時,您正在為與特定記錄識別符關聯的特徵填入值。若要取得有關特徵商店概念的更多資訊,請參閱功能儲存概念

將特徵成功新增至特徵群組後,您無法移除這些特徵。您新增的特徵不會將任何資料加入至記錄。您可以將新記錄新增至特徵群組,或使用 PutRecord API 覆寫這些記錄。若要取得有關更新、描述和將記錄放入特徵群組的範例,請參閱範例程式碼

您可以使用 主控台將功能新增至功能群組。如需如何使用主控台更新功能群組的詳細資訊,請參閱 從主控台更新功能群組

以下各節提供了使用特徵商店 API 將特徵新增至特徵群組的概述,並附上範例。使用 API,您還可以在更新特徵群組後新增或覆寫記錄。

API

使用 UpdateFeatureGroup 操作將特徵新增至特徵群組。

您可以透過該 DescribeFeatureGroup 操作查看是否已成功新增特徵。

若要加入或覆寫記錄,請使用此 PutRecord 操作。

若要查看您對記錄所做的更新,請使用此 GetRecord 操作。若要查看您對多個記錄所做的更新,請使用此 BatchGetRecord 操作。您所做的更新可能需要五分鐘後才會顯示。

您可以透過下一節中的範例程式碼,逐步使用 適用於 Python (Boto3) 的 AWS SDK新增特徵和記錄。

範例程式碼

範例程式碼會引導您完成下列程序:

  1. 新增特徵至特徵群組

  2. 驗證您已成功新增它們

  3. 新增記錄至特徵群組

  4. 驗證您已成功新增記錄

第 1 步:新增特徵至特徵群組

下列程式碼使用此 UpdateFeatureGroup 操作將新特徵新增至特徵群組。它假設您已設定 Feature Store 並建立了一個特徵群組。如需有關入門的更多相關資訊,請參閱功能儲存範例筆記本簡介

import boto3 sagemaker_client = boto3.client("sagemaker") sagemaker_client.update_feature_group( FeatureGroupName=feature_group_name, FeatureAdditions=[ {"FeatureName": "new-feature-1", "FeatureType": "Integral"}, {"FeatureName": "new-feature-2", "FeatureType": "Fractional"}, {"FeatureName": "new-feature-3", "FeatureType": "String"} ] )

下列程式碼會使用此 DescribeFeatureGroup 操作來檢查更新的狀態。如果 LastUpdateStatus 欄位是 Successful,表示您已成功新增特徵。

sagemaker_client.describe_feature_group( FeatureGroupName=feature_group_name )

第 2 步:新增記錄至特徵群組

下列程式碼會使用 PutRecord 操作將記錄新增至您已建立的特徵群組。

record_identifier_value = 'new_record' sagemaker_featurestore_runtime_client = boto3.client("sagemaker-featurestore-runtime") sagemaker_runtime_client.put_record( FeatureGroupName=feature_group_name, Record=[ { 'FeatureName': "record-identifier-feature-name", 'ValueAsString': record_identifier_value }, { 'FeatureName': "event-time-feature", 'ValueAsString': "timestamp-that-feature-store-returns" }, { 'FeatureName': "new-feature-1", 'ValueAsString': "value-as-string" }, { 'FeatureName': "new-feature-2", 'ValueAsString': "value-as-string" }, { 'FeatureName': "new-feature-3", 'ValueAsString': "value-as-string" }, ] )

使用此 GetRecord 操作可查看特徵群組中的哪些記錄沒有已新增特徵的資料。您可以透過此 PutRecord 操作覆寫沒有已新增特徵資料的記錄。