Cara menggunakan naming convention in python

 

1. General¶

  • Avoid using names that are too general or too wordy. Strike a good balance between the two.
  • Bad: data_structure, my_list, info_map, dictionary_for_the_purpose_of_storing_data_representing_word_definitions
  • Good: user_profile, menu_options, word_definitions
  • Don’t be a jackass and name things “O”, “l”, or “I”
  • When using CamelCase names, capitalize all letters of an abbreviation [e.g. HTTPServer]

2. Packages¶

  • Package names should be all lower case
  • When multiple words are needed, an underscore should separate them
  • It is usually preferable to stick to 1 word names

3. Modules¶

  • Module names should be all lower case
  • When multiple words are needed, an underscore should separate them
  • It is usually preferable to stick to 1 word names

4. Classes¶

  • Class names should follow the UpperCaseCamelCase convention
  • Python’s built-in classes, however are typically lowercase words
  • Exception classes should end in “Error”

5. Global [module-level] Variables¶

  • Global variables should be all lowercase
  • Words in a global variable name should be separated by an underscore

6. Instance Variables¶

  • Instance variable names should be all lower case
  • Words in an instance variable name should be separated by an underscore
  • Non-public instance variables should begin with a single underscore
  • If an instance name needs to be mangled, two underscores may begin its name

7. Methods¶

  • Method names should be all lower case
  • Words in an method name should be separated by an underscore
  • Non-public method should begin with a single underscore
  • If a method name needs to be mangled, two underscores may begin its name

8. Method Arguments¶

  • Instance methods should have their first argument named ‘self’.
  • Class methods should have their first argument named ‘cls’

9. Functions¶

  • Function names should be all lower case
  • Words in a function name should be separated by an underscore

10. Constants¶

  • Constant names must be fully capitalized
  • Words in a constant name should be separated by an underscore

Tutorial ini menjelaskan cara membangun dan melatih model Amazon Fraud Detector dan kemudian menggunakan model ini untuk menghasilkan prediksi penipuan real-time menggunakanAWS SDK for Python [Boto3]. Model ini 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

  • Menghasilkan prediksi penipuan waktu nyata

Prasyarat

Berikut ini adalah langkah-langkah prasyarat untuk tutorial ini.

  • Completed [Lengkap]Mengatur Amazon Fraud Detector.

    Jika Anda sudahMengaturAWSSDK, pastikan Anda menggunakan Boto3 SDK versi 1.14.29 atau lebih tinggi.

  • Instruksi yang diikutiDapatkan dan upload contoh datasetfile yang diperlukan untuk tutorial ini.

Memulai

Boto adalah Amazon Web Services [AWS] SDK for Python. Anda dapat menggunakannya untuk membuat, mengkonfigurasi, dan mengelolaLayanan AWS. Untuk petunjuk tentang cara menginstal Boto3, lihatAWS SDK for Python [Boto3].

Setelah Anda menginstalAWS SDK for Python [Boto3], jalankan perintah contoh Python berikut untuk mengkonfirmasi bahwa lingkungan Anda dikonfigurasi dengan benar. Jika lingkungan Anda dikonfigurasi dengan benar, respons berisi daftar detektor. Jika tidak ada detektor yang dibuat, daftar tersebut 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 Anda yang ingin Anda gunakan untuk membuat jenis acara, model, dan aturan.

Pada contoh berikut,CreateVariableAPI digunakan untuk membuat dua variabel. Variabel adalahemail_addressdanip_address. Menetapkan mereka ke jenis variabel yang sesuai:EMAIL_ADDRESSdanIP_ADDRESS. 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 jenis variabel terkait 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 = ''
]

#Create variable ip_address
fraudDetector.create_variable[
    name = 'ip_address',
    variableType = 'IP_ADDRESS',
    dataSource = 'EVENT',
    dataType = 'STRING',
    defaultValue = ''
]   
           

Buat jenis entitas

Entitas mewakili siapa yang melakukan peristiwa tersebut dan jenis entitas mengklasifikasikan entitas tersebut. Klasifikasi contoh termasukpelanggan,pedagang, atauakun.

Pada contoh berikut,Jenis PutentityAPI digunakan untuk membuatsample_customerjenis entitas.

import boto3
fraudDetector = boto3.client['frauddetector']

fraudDetector.put_entity_type[
   name = 'sample_customer',
   description = 'sample customer entity type'
]
            
      

Buat label

Label mengklasifikasikan peristiwa sebagai penipuan atau sah dan digunakan untuk melatih model deteksi penipuan. Model belajar untuk mengklasifikasikan peristiwa menggunakan nilai-nilai label ini.

Pada contoh berikut,PutlabelAPI digunakan untuk membuat dua label,frauddanlegit.

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 peristiwa individual. Jenis acara mendefinisikan struktur peristiwa individu.

Pada 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 acara 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 acarasample_registrationmenggunakan contoh pendaftaran akun dataset yang Anda upload ke Amazon S3.

Untuk informasi selengkapnya tentang berbagai jenis model yang didukung Amazon Fraud Detector, lihatPilih jenis model model.

Buat model

Pada 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']
        

Melatih model

Pada contoh berikut,createModelVersionAPI digunakan untuk melatih model. Menentukan'EXTERNAL_EVENTS'untuktrainingDataSourcedan lokasi Amazon S3 tempat Anda menyimpan data contoh Anda danRoleArnbucket Amazon S3externalEventsDetail. UntuktrainingDataSchemaparameter, tentukan bagaimana Amazon Fraud Detector menafsirkan contoh data. 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://your-S3-bucket-name/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.

Performa 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.

GunakanDescribeModelVersionsAPI untuk meninjau kinerja model. LihatlahPerforma modelskor keseluruhan dan semua metrik lain yang dihasilkan oleh Amazon Fraud Detector untuk model ini.

Untuk mempelajari lebih lanjut tentang skor kinerja model dan metrik kinerja, lihatNilai modeldanMetrik kinerja model model model.

Anda dapat mengharapkan semua model Amazon Fraud Detector terlatih memiliki metrik kinerja deteksi penipuan dunia nyata, yang serupa dengan metrik dalam tutorial ini.

Deploy model

Setelah Anda meninjau metrik kinerja model terlatih, gunakan model dan sediakan untuk Amazon Fraud Detector untuk menghasilkan prediksi penipuan. Untuk menyebarkan model terlatih, gunakanUpdateModelVersionStatusAPI Pada contoh berikut, 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 adalah untuk acara tertentu yang ingin Anda evaluasi untuk penipuan. Aturan adalah suatu kondisi yang Anda tentukan untuk memberi tahu Amazon Fraud Detector mengenai cara menafsirkan nilai variabel selama prediksi. Dan hasilnya adalah hasil dari prediksi penipuan. Detektor dapat memiliki beberapa versi dengan setiap versi memiliki statusDRAF,AKTIF, atauTIDAK AKTIF. 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

Pada contoh berikut,PutDetectorAPI digunakan untuk membuatsample_detectordetektor untuksample_registrationJenis acara.

import boto3
fraudDetector = boto3.client['frauddetector']

fraudDetector.put_detector [
     detectorId = 'sample_detector',
     eventTypeName = 'sample_registration'
]
  

Buat hasil

Hasil dibuat untuk setiap kemungkinan hasil prediksi penipuan. Pada contoh berikut,PutOutcomeAPI digunakan untuk membuat tiga hasil -verify_customer,review, danapprove. Hasil ini kemudian ditugaskan 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.

Pada contoh berikut,CreateRuleAPI digunakan untuk membuat tiga aturan yang berbeda:high_risk,medium_risk, danlow_risk. Buat ekspresi aturan untuk membandingkan skor kinerja modelsample_fraud_detection_model_insightscoreterhadap berbagai ambang batas. Hal 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  700',
     language = 'DETECTORPL',
     outcomes = ['review']
     ]

fraudDetector.create_rule[
     ruleId = 'low_fraud_risk',
     detectorId = 'sample_detector',
     expression = '$sample_fraud_detection_model_insightscore 

Bài mới nhất

Chủ Đề