本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將特徵和記錄新增至特徵群組中
您可以使用 Amazon SageMaker Feature Store API 或 主控台來更新和描述您的功能群組,以及將功能和記錄新增至您的功能群組。特徵群組是包含資料的物件,而特徵描述資料表中的欄。當您將特徵加入至特徵群組時,您可以有效地將欄加入至資料表中。將新記錄加入至特徵群組時,您正在為與特定記錄識別符關聯的特徵填入值。若要取得有關特徵商店概念的更多資訊,請參閱功能儲存概念。
將特徵成功新增至特徵群組後,您無法移除這些特徵。您新增的特徵不會將任何資料加入至記錄。您可以將新記錄新增至特徵群組,或使用 PutRecord API 覆寫這些記錄。若要取得有關更新、描述和將記錄放入特徵群組的範例,請參閱範例程式碼。
您可以使用 主控台將功能新增至功能群組。如需如何使用主控台更新功能群組的詳細資訊,請參閱 從主控台更新功能群組。
以下各節提供了使用特徵商店 API 將特徵新增至特徵群組的概述,並附上範例。使用 API,您還可以在更新特徵群組後新增或覆寫記錄。
API
使用 UpdateFeatureGroup
操作將特徵新增至特徵群組。
您可以透過該 DescribeFeatureGroup
操作查看是否已成功新增特徵。
若要加入或覆寫記錄,請使用此 PutRecord
操作。
若要查看您對記錄所做的更新,請使用此 GetRecord
操作。若要查看您對多個記錄所做的更新,請使用此 BatchGetRecord
操作。您所做的更新可能需要五分鐘後才會顯示。
您可以透過下一節中的範例程式碼,逐步使用 適用於 Python (Boto3) 的 AWS SDK新增特徵和記錄。
範例程式碼
範例程式碼會引導您完成下列程序:
-
新增特徵至特徵群組
-
驗證您已成功新增它們
-
新增記錄至特徵群組
-
驗證您已成功新增記錄
第 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
操作覆寫沒有已新增特徵資料的記錄。