建立模型 - Amazon Fraud Detector

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

建立模型

Amazon Fraud Detector 模型會學習偵測特定事件類型的詐騙。在 Amazon Fraud Detector 中,您會先建立模型,做為模型版本的容器。每次訓練模型時,都會建立新的版本。如需如何使用 AWS 主控台建立和訓練模型的詳細資訊,請參閱步驟 3:建立模型

每個模型都有對應的模型分數變數。當您建立模型時,Amazon Fraud Detector 會代表您建立此變數。您可以在規則表達式中使用此變數,以在詐騙評估期間解譯模型分數。

使用 訓練和部署模型 AWS SDK for Python (Boto3)

模型版本是透過呼叫 CreateModelCreateModelVersion操作來建立。 會CreateModel啟動模型,做為模型版本的容器。 會CreateModelVersion啟動訓練程序,進而產生特定版本的模型。每次呼叫 CreateModelVersion 都會建立新的解決方案版本。

下列範例顯示 CreateModel 的範例請求API。此範例會建立 Online Fraud Insights 模型類型,並假設您已建立事件類型 sample_registration。如需建立事件類型的其他詳細資訊,請參閱 建立事件類型

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_model ( modelId = 'sample_fraud_detection_model', eventTypeName = 'sample_registration', modelType = 'ONLINE_FRAUD_INSIGHTS')

使用 訓練您的第一個版本CreateModelVersionAPI。針對 TrainingDataSourceExternalEventsDetail指定訓練資料集的來源和 Amazon S3 位置。針對 TrainingDataSchema指定 Amazon Fraud Detector 應如何解譯訓練資料,特別是要包含哪些事件變數,以及如何分類事件標籤。根據預設,Amazon Fraud Detector 會忽略未標記的事件。此範例程式碼使用 AUTO unlabeledEventsTreatment來指定 Amazon Fraud Detector 決定如何使用未標記的事件。

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_model_version ( modelId = 'sample_fraud_detection_model', modelType = 'ONLINE_FRAUD_INSIGHTS', trainingDataSource = 'EXTERNAL_EVENTS', trainingDataSchema = { 'modelVariables' : ['ip_address', 'email_address'], 'labelSchema' : { 'labelMapper' : { 'FRAUD' : ['fraud'], 'LEGIT' : ['legit'] } unlabeledEventsTreatment = 'AUTO' } }, externalEventsDetail = { 'dataLocation' : 's3://bucket/file.csv', 'dataAccessRoleArn' : 'role_arn' } )

成功的請求將產生狀態為 的新模型版本TRAINING_IN_PROGRESS。在訓練期間,您可以隨時呼叫 UpdateModelVersionStatus 並將狀態更新為 來取消訓練TRAINING_CANCELLED。訓練完成後,模型版本狀態會更新為 TRAINING_COMPLETE。您可以使用 Amazon Fraud Detector 主控台或呼叫 來檢閱模型效能DescribeModelVersions。如需如何解譯模型分數和效能的詳細資訊,請參閱 模型分數模型效能指標

檢閱模型效能後,請啟用模型,讓偵測器可在即時詐騙預測中使用模型。Amazon Fraud Detector 會在開啟自動擴展的多個可用區域中部署模型,以確保模型隨著您正在進行的詐騙預測數量而擴展。若要啟用模型,請呼叫 UpdateModelVersionStatus API 並將狀態更新為 ACTIVE

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.update_model_version_status ( modelId = 'sample_fraud_detection_model', modelType = 'ONLINE_FRAUD_INSIGHTS', modelVersionNumber = '1.00', status = 'ACTIVE' )