Amazon Fraud Detector(利用Amazon Fraud Detector輕鬆建立線上防詐機制)
- 作者 -
Ian Lin, Solutions Architect, AWS
Sam Tu, Business Development Manager, AWS
[挑戰/適用情境]由於數位生態蓬勃發展,越來越多的活動藉由數位方式進行。而線上行為因其特性使然,較難第一時間辨明是否為所宣稱的使用者所為,於事後追查往往耗費資源又難以查明。於本案例中,我們可利用此欺詐洞察服務,調整模型中的變數,用於以下常見線上詐欺偵測場景:
本篇範例為幫助客戶在偵測新帳號註冊時,根據使用者Email 及 IP 地址,給予評分協助偵測是否有詐騙事件產生 [操作步驟]步驟概覽
步驟一、構建 Amazon Fraud Detector 模型1.1 下載以下文件,解壓縮並使用虛擬合成訓練數據, 檔案名稱 "registration_data_20K_minimum"
![]() 在線欺詐洞察模型要求訓練數據集具有至少兩個變量、總示例為10K且有400個欺詐示例來訓練模型。除了事件變量之外,訓練數據集還必須包含以下標題:
1.2 將訓練數據 registration_data_20K_minimum.csv 檔案, 上傳至 Amazon S3
![]() ![]() 1.3.1 定義需要偵測的詐欺事件, 在AWS Console 頁面上點選 Create event
![]() 1.3.2 輸入 sample_registration 作為事件類型名稱
![]() 1.3.3 創建實體類型, 輸入 sample_customer 作為實體類型名稱, 選擇 Create entity (創建實體)。
![]() 1.3.4 事件變量, 選擇 Select variables from a training dataset (從訓練數據集中選擇變量).
![]() 1.3.5 IAM角色, 選擇 創建IAM角色
![]() 1.3.6 在 創建IAM角色 頁面中, 輸入上傳培訓數據的特定存儲桶名稱。選擇創建角色。
![]() 1.3.7 數據位置, 請輸入培訓數據的 S3路徑, 然後選擇 上傳
![]() 1.3.8 為了讓 Amazon Fraud Detector 轉譯變量, 必須將資料變量映射到變量類型。
![]() 1.3.9 標籤, 選擇 Create label
![]() 1.3.10 創建標籤,
輸入 fraud 作為標籤名稱, 此標籤對應並表示數據集中的事件為 詐欺,然後選擇 創建標籤 按照相同的步驟創建第二個標籤, 這次輸入 legit 作為標籤名稱, 此標籤對應並表示數據集中的事件為 合法 ![]() 1.4.1 構建模型, 在 Models 頁面,選擇 添加模型 然後選擇 創建模型
![]() 1.4.2 輸入 sample_fraud_detection_model 作為模型名稱, 並選擇輸入模型的描述
![]() 型號類型,選擇 Online Fraud Insights 型號
對於 事件類型,選擇 sample_registration (您在步驟 1.3.2 中創建的事件類型) 歷史事件數據, 對於 IAM角色,選擇您在步驟 1.3.5 中創建的角色。 ![]() 於培訓數據(Training data location), 輸入您的 S3 訓練資料檔案路徑, 參考下圖獲取 S3 檔案路徑
![]() 選擇下一步。
1.5.1 Model inputs
使用默認設定。默認情況下,Amazon欺詐探測器將使用 歷史事件數據集 中的所有變量 Label classification 對於 欺詐標籤, 選擇 fraud, 因為此標籤對應於數據集中的欺詐事件 對於 合法標籤,選擇 legit, 因為此標籤對應於數據集中的合法事件 ![]() 選擇下一步
1.5.2 選擇 創建和培訓模型(Create and train model).
Amazon欺詐探測器將開始創建新版本模型, 使用範例的訓練數據集, 進行模型訓練大約需要45分鐘完成 ![]() 步驟二、配置即時欺詐預測服務 (在線欺詐洞察)2.1.1 在 Amazon Fraud Detector 控制台左側,請選擇 檢測器(Detectors), 接著選擇右側 建立檢測器(Create detector)
![]() 2.1.2 定義檢測器詳細信息,輸入 sample_detector, 並且輸入關於檢測器的描述,例如 my sample fraud detector
![]() 事件類型(Event type), 選擇 sample_registration
2.2.1 添加模型,選擇 添加模型,選擇 sample_fraud_detection_model
![]() 點選下一步
![]() 2.3.1 完成命名檢測器並添加模型後, 您可以創建規則定義 Amazon Fraud Detector 模型分數
在本範例中, 將制定三個規則: high_fraud_risk、medium_fraud_risk 和 low_fraud_risk 輸入 high_fraud_risk 規則名稱, 並輸入 This rule captures events with a high ML model score 作爲規則的描述請使用以下規則表達式, Amazon Fraud Detector 簡化的規則表達式語言:
![]() 結果,選擇 創建新結果. 結果是欺詐預測的結果,如果規則在評估期間匹配,則返回。
創建新結果,輸入 verify_customer 作爲結果名稱![]() 選擇 保存結果
![]() 選擇 添加規則 以運行規則驗證檢查程序並保存規則。製作完成後, Amazon Fraud Detector 使規則可用於您的檢測器。
2.3.2 選擇 添加其他規則,然後選擇 創建規則
![]() 重複這個過程兩次, 創建
medium_fraud_risk 和 low_fraud_risk , 使用以下規則詳細信息的規則:![]() 規則名稱:
medium_fraud_risk 結果: review 表達:
![]() 規則名稱:
low_fraud_risk 結果: approve 表達:
2.4.1 默認規則執行模式爲
FIRST_MATCHED , 選擇 FIRST_MATCHED 然後選擇 下一步.![]() First matched
First matched 執行模式基於定義的規則順序返回 First matched 規則的結果。如果指定 FIRST_MATCHED , Amazon Fraud Detector 按順序評估規則(從第一個到最後一個), 在第一次匹配到的規則停止。 Amazon Fraud Detector 然後提供該單個規則的結果。執行規則的順序可能會影響生成的欺詐預測結果。創建規則後, 請重新排序規則以按所需順序執行, 方法是按照以下步驟:如果您的 high_fraud_risk 規則不在規則列表頂部,請選擇 訂單(Order),然後選擇 1. 這會 high_fraud_risk 到第一位置。重複此過程, 以便 medium_fraud_risk 規則處於第二個位置, low_fraud_risk 規則位於第三個位置。All matched 無論規則順序如何, 所有匹配的規則執行模式都會返回 All matched 的規則的結果。如果指定 ALL_MATCHED , Amazon Fraud Detector 評估所有規則並返回 all matched 規則的結果。2.5.1 在Amazon Fraud Detector控制台中,您可以使用模擬事件數據使用運行測試功能。
![]() 步驟三、建立並整合至會員入口網站3.1.1 建立EC2, 作業系統選擇 Ubuntu 16.04, 虛擬機器類型 t2.micro
![]() ![]() ![]() 3.1.2 在 Security Group 開啟Port 3000
![]() 3.1.3 為EC2 建立IAM Role, 獲得存取 Amazon Fraud Detector 的權限, 並命名為 “AFDAccesssRole”
![]() ![]() ![]() 3.1.4 將IAM Role “AFDAccesssRole” 套用於步驟 3.1.1 所建立出來的 EC2
![]() ![]() 3.2.1 SSH 進到 EC2, 並執行以下腳本內容
sudo apt-get update 3.2.2 下載程式範例
wget https://node-js-web-demo.s3.amazonaws.com/frauddetector-master-new.zip 修改資料夾frauddetector-master-new目錄下 .env 檔案內容
![]() 3.2.3 執行以下指令, 運行應用程式
3.3.1 ![]() ![]() [FAQ]Q1: Amazon 欺詐偵測器如何運作? A1: 首先,選取機器學習模型範本,其將指定經過最佳化的功能和演算法組合,以偵測特定形式的線上詐騙。接著,上傳歷史詐騙資料,以根據您的獨特資訊自動訓練、測試和部署自訂詐騙偵測模型。在此過程中將使用一系列模型,這些模型憑藉 AWS 和 Amazon 自身的防詐騙專業知識來了解詐騙模式,從而提升客戶的模型效能。輸出即採用分數形式的預測,範圍從 0 至 1,000,可預測詐騙風險的可能性。在程序的最後階段,設定決策邏輯 (例如規則) 來解釋模型分數並指派結果,例如將通過交易或將其傳送至人工調查人員進行檢閱。 Q2: 我是否能為使用案例自訂 Amazon 詐騙偵測器的組態? A2: 是的。您可以結合使用詐騙偵測器 ML 模型、SageMaker 模型和規則,為每個使用案例自訂 Amazon 詐騙偵測器。首先,您需要收集相關的風險資料用作詐騙評估的輸入,例如電子郵件地址、電話號碼和 IP 地址。該資料將輸入至機器學習模型中,該模型則輸出分數。然後,您可以使用一組偵測規則,來解釋分數和其他風險資料以做出決策,例如核准或將訂單傳送至詐騙分析師進行調查。一個簡單規則和相應結果的範例可能如下所示︰“IF model_score < 50 & credit_card_country = US THEN approve_order”。 [References]
|