Amazon Fraud Detector tidak lagi terbuka untuk pelanggan baru pada 7 November 2025. Untuk kemampuan yang mirip dengan Amazon Fraud Detector, jelajahi Amazon SageMaker, AutoGluon, dan AWS WAF.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Mulai menggunakan AWS SDK untuk Python (Boto3)
Tutorial ini menjelaskan cara membuat dan melatih model Amazon Fraud Detector dan kemudian menggunakan model ini untuk menghasilkan prediksi penipuan real-time menggunakan AWS SDK untuk Python (Boto3). Model dilatih menggunakan file data contoh pendaftaran akun yang Anda unggah ke bucket Amazon S3.
Pada akhir tutorial ini, Anda menyelesaikan tindakan berikut:
-
Membangun dan melatih model Amazon Fraud Detector
-
Hasilkan prediksi penipuan real-time
Prasyarat
Berikut ini adalah langkah-langkah prasyarat untuk tutorial ini.
-
SelesaiSiapkan untuk Amazon Fraud Detector.
Jika sudahPenyiapan AWS SDK, pastikan Anda menggunakan Boto3 SDK versi 1.14.29 atau lebih tinggi.
-
Ikuti instruksi untuk Dapatkan dan unggah contoh dataset file yang diperlukan untuk tutorial ini.
Memulai
Boto adalah Amazon Web Services (AWS) SDK untuk Python. Anda dapat menggunakannya untuk membuat, mengkonfigurasi, dan mengelola Layanan AWS. Untuk petunjuk tentang cara menginstal Boto3, lihat AWS SDK for Python (Boto3).
Setelah Anda menginstal AWS SDK untuk Python (Boto3), jalankan perintah contoh Python berikut untuk mengonfirmasi bahwa lingkungan Anda dikonfigurasi dengan benar. Jika lingkungan Anda dikonfigurasi dengan benar, respons berisi daftar detektor. Jika tidak ada detektor yang dibuat, daftarnya kosong.
import boto3 fraudDetector = boto3.client('frauddetector') response = fraudDetector.get_detectors() print(response)
Pada langkah ini, Anda membuat sumber daya yang digunakan untuk menentukan model, peristiwa, dan aturan.
Buat variabel
Variabel adalah elemen data dari dataset yang ingin Anda gunakan untuk membuat jenis acara, model, dan aturan.
Dalam contoh berikut, CreateVariable API digunakan untuk membuat dua variabel. Variabel-variabel tersebut adalah email_address danip_address. Tetapkan mereka ke tipe variabel yang sesuai: EMAIL_ADDRESS danIP_ADDRESS. Variabel-variabel ini adalah bagian dari contoh dataset yang Anda unggah. Saat Anda menentukan jenis variabel, Amazon Fraud Detector menafsirkan variabel selama pelatihan model dan saat mendapatkan prediksi. Hanya variabel dengan tipe variabel terkait yang dapat digunakan untuk pelatihan model.
import boto3 fraudDetector = boto3.client('frauddetector') #Create variable email_address fraudDetector.create_variable( name = 'email_address', variableType = 'EMAIL_ADDRESS', dataSource = 'EVENT', dataType = 'STRING', defaultValue = '<unknown>' ) #Create variable ip_address fraudDetector.create_variable( name = 'ip_address', variableType = 'IP_ADDRESS', dataSource = 'EVENT', dataType = 'STRING', defaultValue = '<unknown>' )
Buat tipe entitas
Entitas mewakili siapa yang melakukan peristiwa dan tipe entitas mengklasifikasikan entitas. Contoh klasifikasi termasuk pelanggan, pedagang, atau akun.
Dalam contoh berikut, PutEntityType API digunakan untuk membuat tipe sample_customer entitas.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_entity_type( name = 'sample_customer', description = 'sample customer entity type' )
Buat label
Label mengklasifikasikan suatu peristiwa sebagai penipuan atau sah dan digunakan untuk melatih model deteksi penipuan. Model belajar mengklasifikasikan peristiwa menggunakan nilai label ini.
Dalam contoh berikut, API Putlabel digunakan untuk membuat dua label, fraud danlegit.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_label( name = 'fraud', description = 'label for fraud events' ) fraudDetector.put_label( name = 'legit', description = 'label for legitimate events' )
Dengan Amazon Fraud Detector, Anda membangun model yang mengevaluasi risiko dan menghasilkan prediksi penipuan untuk setiap peristiwa. Jenis peristiwa mendefinisikan struktur peristiwa individu.
Dalam contoh berikut, PutEventType API digunakan untuk membuat jenis acarasample_registration. Anda menentukan jenis peristiwa dengan menentukan variabel (email_address,ip_address), tipe entitas (sample_customer), dan label (fraud,legit) yang Anda buat pada langkah sebelumnya.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_event_type ( name = 'sample_registration', eventVariables = ['ip_address', 'email_address'], labels = ['legit', 'fraud'], entityTypes = ['sample_customer'])
Amazon Fraud Detector melatih model untuk belajar mendeteksi penipuan untuk jenis peristiwa tertentu. Pada langkah sebelumnya, Anda membuat jenis acara. Pada langkah ini, Anda membuat dan melatih model untuk jenis acara. Model bertindak sebagai wadah untuk versi model Anda. Setiap kali Anda melatih model, versi baru dibuat.
Gunakan kode contoh berikut untuk membuat dan melatih model Wawasan Penipuan Online. Model ini disebutsample_fraud_detection_model. Ini untuk jenis acara sample_registration menggunakan dataset contoh pendaftaran akun yang Anda unggah ke Amazon S3.
Untuk informasi selengkapnya tentang berbagai jenis model yang didukung Amazon Fraud Detector, lihatPilih jenis model.
Buat model
Dalam contoh berikut, CreateModel API digunakan untuk membuat model.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_model ( modelId = 'sample_fraud_detection_model', eventTypeName = 'sample_registration', modelType = 'ONLINE_FRAUD_INSIGHTS')
Latih model
Dalam contoh berikut, CreateModelVersion API digunakan untuk melatih model. T 'EXTERNAL_EVENTS' entukan lokasi trainingDataSource dan lokasi Amazon S3 tempat Anda menyimpan dataset contoh dan bucket Amazon S3 untukexternalEventsDetail. RoleArn Untuk trainingDataSchema parameter, tentukan cara Amazon Fraud Detector menafsirkan data contoh. Lebih khusus lagi, tentukan variabel mana yang akan disertakan dan bagaimana mengklasifikasikan label peristiwa.
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'] } } }, externalEventsDetail = { 'dataLocation' : 's3://amzn-s3-demo-bucket/your-example-data-filename.csv', 'dataAccessRoleArn' : 'role_arn' } )
Anda dapat melatih model Anda beberapa kali. Setiap kali Anda melatih model, versi baru dibuat. Setelah pelatihan model selesai, status versi model diperbarui keTRAINING_COMPLETE. Anda dapat meninjau skor kinerja model dan metrik kinerja model lainnya.
Tinjau kinerja model
Langkah penting dalam menggunakan Amazon Fraud Detector adalah menilai keakuratan model Anda menggunakan skor model dan metrik kinerja. Setelah pelatihan model selesai, Amazon Fraud Detector memvalidasi kinerja model menggunakan 15% data Anda yang tidak digunakan untuk melatih model. Ini menghasilkan skor kinerja model dan metrik kinerja lainnya.
Gunakan DescribeModelVersions API untuk meninjau kinerja model. Lihat skor keseluruhan kinerja Model dan semua metrik lain yang dihasilkan oleh Amazon Fraud Detector untuk model ini.
Untuk mempelajari lebih lanjut tentang skor kinerja model dan metrik kinerja, lihat Skor model danMetrik kinerja model.
Anda dapat mengharapkan semua model Amazon Fraud Detector yang terlatih memiliki metrik kinerja deteksi penipuan dunia nyata, yang mirip dengan metrik dalam tutorial ini.
Menyebarkan model
Setelah Anda meninjau metrik kinerja model terlatih Anda, gunakan model tersebut dan sediakan untuk Amazon Fraud Detector untuk menghasilkan prediksi penipuan. Untuk menerapkan model terlatih, gunakan UpdateModelVersionStatus API. Dalam contoh berikut, ini digunakan untuk memperbarui status versi model ke AKTIF.
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' )
Detektor berisi logika deteksi, seperti model dan aturan. Logika ini untuk peristiwa tertentu yang ingin Anda evaluasi untuk penipuan. Aturan adalah kondisi yang Anda tentukan untuk memberi tahu Amazon Fraud Detector cara menafsirkan nilai variabel selama prediksi. Dan hasilnya adalah hasil dari prediksi penipuan. Detektor dapat memiliki beberapa versi dengan masing-masing versi memiliki status DRAFT, ACTIVE, atau INACTIVE. Versi detektor harus memiliki setidaknya satu aturan yang terkait dengannya.
Gunakan kode contoh berikut untuk membuat detektor, aturan, hasil, dan untuk mempublikasikan detektor.
Buat detektor
Dalam contoh berikut, PutDetector API digunakan untuk membuat sample_detector detektor untuk jenis sample_registration peristiwa.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_detector ( detectorId = 'sample_detector', eventTypeName = 'sample_registration' )
Buat hasil
Hasil dibuat untuk setiap hasil prediksi penipuan yang mungkin. Dalam contoh berikut, PutOutcome API digunakan untuk membuat tiga hasil -verify_customer,review, danapprove. Hasil-hasil ini kemudian ditetapkan ke aturan.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_outcome( name = 'verify_customer', description = 'this outcome initiates a verification workflow' ) fraudDetector.put_outcome( name = 'review', description = 'this outcome sidelines event for review' ) fraudDetector.put_outcome( name = 'approve', description = 'this outcome approves the event' )
Buat aturan
Aturan terdiri dari satu atau lebih variabel dari dataset Anda, ekspresi logika, dan satu atau lebih hasil.
Dalam contoh berikut, CreateRule API digunakan untuk membuat tiga aturan yang berbeda:high_risk,medium_risk, danlow_risk. Buat ekspresi aturan untuk membandingkan sample_fraud_detection_model_insightscore nilai skor kinerja model terhadap berbagai ambang batas. Ini untuk menentukan tingkat risiko untuk suatu peristiwa dan menetapkan hasil yang didefinisikan pada langkah sebelumnya.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_rule( ruleId = 'high_fraud_risk', detectorId = 'sample_detector', expression = '$sample_fraud_detection_model_insightscore > 900', language = 'DETECTORPL', outcomes = ['verify_customer'] ) fraudDetector.create_rule( ruleId = 'medium_fraud_risk', detectorId = 'sample_detector', expression = '$sample_fraud_detection_model_insightscore <= 900 and $sample_fraud_detection_model_insightscore > 700', language = 'DETECTORPL', outcomes = ['review'] ) fraudDetector.create_rule( ruleId = 'low_fraud_risk', detectorId = 'sample_detector', expression = '$sample_fraud_detection_model_insightscore <= 700', language = 'DETECTORPL', outcomes = ['approve'] )
Buat versi detektor
Versi detektor mendefinisikan model dan aturan yang digunakan untuk mendapatkan prediksi penipuan.
Dalam contoh berikut, CreateDetectorVersion API digunakan untuk membuat versi detektor. Ini dilakukan dengan memberikan detail versi model, aturan, dan mode eksekusi aturan FIRST_MATCHED. Mode eksekusi aturan menentukan urutan untuk mengevaluasi aturan. Mode eksekusi aturan FIRST_MATCHED menentukan bahwa aturan dievaluasi secara berurutan, pertama hingga terakhir, berhenti pada aturan yang dicocokkan pertama.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_detector_version( detectorId = 'sample_detector', rules = [{ 'detectorId' : 'sample_detector', 'ruleId' : 'high_fraud_risk', 'ruleVersion' : '1' }, { 'detectorId' : 'sample_detector', 'ruleId' : 'medium_fraud_risk', 'ruleVersion' : '1' }, { 'detectorId' : 'sample_detector', 'ruleId' : 'low_fraud_risk', 'ruleVersion' : '1' } ], modelVersions = [{ 'modelId' : 'sample_fraud_detection_model', 'modelType': 'ONLINE_FRAUD_INSIGHTS', 'modelVersionNumber' : '1.00' } ], ruleExecutionMode = 'FIRST_MATCHED' )
Langkah terakhir dari tutorial ini menggunakan detektor yang sample_detector dibuat pada langkah sebelumnya untuk menghasilkan prediksi penipuan untuk jenis sample_registration peristiwa secara real time. Detektor mengevaluasi contoh data yang diunggah ke Amazon S3. Respons mencakup skor kinerja model serta hasil apa pun yang terkait dengan aturan yang cocok.
Dalam contoh berikut, GetEventPrediction API digunakan untuk menyediakan data dari pendaftaran akun tunggal dengan setiap permintaan. Untuk tutorial ini, ambil data (email_address dan ip_address) dari file data contoh pendaftaran akun. Setiap baris (baris) setelah baris header atas mewakili data dari acara pendaftaran akun tunggal.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.get_event_prediction( detectorId = 'sample_detector', eventId = '802454d3-f7d8-482d-97e8-c4b6db9a0428', eventTypeName = 'sample_registration', eventTimestamp = '2020-07-13T23:18:21Z', entities = [{'entityType':'sample_customer', 'entityId':'12345'}], eventVariables = { 'email_address': 'johndoe@exampledomain.com', 'ip_address': '1.2.3.4' } )
Setelah Anda menyelesaikan tutorial ini, Anda melakukan hal berikut:
-
Mengunggah contoh dataset peristiwa ke Amazon S3.
-
Membuat variabel, entitas, dan label yang digunakan untuk membuat dan melatih model.
-
Membuat dan melatih model menggunakan contoh dataset.
-
Melihat skor kinerja model dan metrik kinerja lain yang dihasilkan Amazon Fraud Detector.
-
Menerapkan model deteksi penipuan.
-
Membuat detektor dan menambahkan model yang digunakan.
-
Menambahkan aturan, urutan eksekusi aturan, dan hasil ke detektor.
-
Versi detektor yang dibuat.
-
Menguji detektor dengan memberikan input yang berbeda dan memeriksa apakah aturan dan urutan eksekusi aturan berfungsi seperti yang diharapkan.
(Opsional) Jelajahi API Detektor Penipuan Amazon dengan Notebook Jupyter (IPython)
Untuk contoh selengkapnya tentang cara menggunakan API Detektor Penipuan Amazon, lihat repositori aws-fraud-detector-sample GitHub . GetEventPrediction API.