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 membangun 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 waktu nyata
Prasyarat
Berikut ini adalah langkah-langkah prasyarat untuk tutorial ini.
-
SelesaiSiapkan untuk Amazon Fraud Detector.
Jika sudahSiapkan 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, acara, dan aturan.
Buat variabel
Variabel adalah elemen data dari dataset Anda yang ingin Anda gunakan untuk membuat jenis acara, model, dan aturan.
Dalam contoh berikut, CreateVariableAPI digunakan untuk membuat dua variabel. Variabel-variabelnya adalah email_address
danip_address
. Tetapkan mereka ke jenis variabel yang sesuai: EMAIL_ADDRESS
danIP_ADDRESS
. Variabel ini adalah bagian dari contoh kumpulan data 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 acara dan tipe entitas mengklasifikasikan entitas. Contoh klasifikasi termasuk pelanggan, pedagang, atau akun.
Dalam contoh berikut, PutEntityTypeAPI 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 membuat model yang mengevaluasi risiko dan menghasilkan prediksi penipuan untuk setiap peristiwa. Tipe acara mendefinisikan struktur peristiwa individu.
Dalam contoh berikut, PutEventTypeAPI digunakan untuk membuat jenis acarasample_registration
. Anda menentukan jenis acara 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, CreateModelAPI 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, CreateModelVersionAPI digunakan untuk melatih model. Tentukan 'EXTERNAL_EVENTS'
untuk trainingDataSource
dan lokasi Amazon S3 tempat Anda menyimpan kumpulan data contoh dan bucket Amazon S3 untuk. RoleArnexternalEventsDetail
Untuk trainingDataSchema
parameter, tentukan bagaimana Amazon Fraud Detector menafsirkan data contoh. Lebih khusus lagi, tentukan variabel mana yang akan disertakan dan bagaimana mengklasifikasikan label acara.
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 DescribeModelVersionsAPI untuk meninjau performa 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 Anda 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, terapkan model dan sediakan untuk Amazon Fraud Detector untuk menghasilkan prediksi penipuan. Untuk menerapkan model terlatih, gunakan UpdateModelVersionStatusAPI. Dalam contoh berikut, ini digunakan untuk memperbarui status versi model ke 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' )
Detektor berisi logika deteksi, seperti model dan aturan. Logika ini untuk acara 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 setiap 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, PutDetectorAPI 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' )
Ciptakan hasil
Hasil diciptakan untuk setiap kemungkinan hasil prediksi penipuan. Dalam contoh berikut, PutOutcomeAPI digunakan untuk membuat tiga hasil -verify_customer
,review
, danapprove
. Hasil ini kemudian ditetapkan untuk 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, CreateRuleAPI digunakan untuk membuat tiga aturan berbeda:high_risk
,medium_risk
, danlow_risk
. Buat ekspresi aturan untuk membandingkan sample_fraud_detection_model_insightscore
nilai skor kinerja model dengan berbagai ambang batas. Ini untuk menentukan tingkat risiko suatu peristiwa dan menetapkan hasil yang ditentukan 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, CreateDetectorVersionAPI 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 menetapkan bahwa aturan dievaluasi secara berurutan, pertama hingga terakhir, berhenti pada aturan pertama yang cocok.
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, GetEventPredictionAPI 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 lainnya yang dihasilkan Amazon Fraud Detector.
-
Menggunakan 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 perintah eksekusi aturan berfungsi seperti yang diharapkan.
(Opsional) Jelajahi Amazon Fraud Detector APIs dengan Notebook Jupyter (IPython)
Untuk contoh selengkapnya tentang cara menggunakan Amazon Fraud Detector APIs, lihat aws-fraud-detector-samples GitHub repositoriGetEventPrediction