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