Konsol kullanarak kredi kartı işlemlerinde Sahtekarlık Algılama için BigQuery ML

1. Giriş

Bu laboratuvarda, konsol kullanarak tablo biçimindeki verilerle bir modeli eğitmek ve sunmak için BigQuery'yi kullanacaksınız. Bu teklif, SQL tabanlı model sunma ve eğitimine en çok yapılan eklemedir. BigQuery ML, kullanıcıların SQL sorgularını kullanarak BigQuery'de makine öğrenimi modelleri oluşturmasını ve yürütmesini sağlar. Hedef, SQL uygulayıcılarının mevcut araçlarını kullanarak model oluşturmasını mümkün kılarak makine öğrenimini demokratikleştirmek ve veri taşıma ihtiyacını ortadan kaldırarak geliştirme hızını artırmaktır.

Öğrenecekleriniz

  • BigQuery'deki verileri keşfedin
  • Konsol kullanarak BigQuery'de SQL kullanarak model oluşturma
  • Oluşturulan modelin sonuçlarını değerlendirme
  • Oluşturulan modelle sahte olup olmadığını gösteren bir işlemi tahmin etme

2. Veriler hakkında

Veri kümeleri, Eylül 2013'te Avrupa'daki kart sahipleri tarafından kredi kartlarıyla yapılan işlemleri içermektedir. Bu veri kümesinde, 284.807 işlemden 492'si sahtekarlık içeren,iki gün içinde gerçekleşen işlemler gösterilmektedir. Son derece dengesizdir ve pozitif sınıf (sahtekarlık), tüm işlemlerin% 0,172'sini oluşturur.

Yalnızca PCA dönüşümünün sonucu olan sayısal giriş değişkenlerini içerir. Gizlilik sorunları nedeniyle maalesef orijinal özellikleri ve verilerle ilgili daha fazla arka plan bilgisini sunamıyoruz.

  1. V1, V2, ... V28 özellikleri PCA ile elde edilen ana bileşenlerdir, yalnızca PCA ile dönüştürülmemiş özellikler "Zaman"dır. ve "Tutar".
  2. Özellik "Zaman" her işlem ile veri kümesindeki ilk işlem arasında geçen saniye sayısını içerir.
  3. "Tutar" özelliği, işlem tutarıdır. Bu özellik, örneğin maliyete duyarlı bir öğrenim için kullanılabilir.
  4. "Sınıf" özelliği, yanıt değişkenidir. Sahtekarlık durumunda 1 değerini, sahtekarlık durumunda 0 değerini alır.

Veri kümesi, Worldline ve Makine Öğrenimi Grubu'nun ( http://mlg.ulb.ac.be) ULB'nin (Université Libre de Bruxelles) büyük veri madenciliği ve sahtekarlık tespiti üzerine yaptığı araştırmada toplanıp analiz edilmiştir.

İlgili konularda mevcut ve geçmiş projeler hakkında daha fazla bilgiye https://www.researchgate.net/project/Fraud-detection-5 ile ve DefeatFraud projesinin sayfasından ulaşabilirsiniz.

Alıntı:

Andrea Dal Pozzolo, Olivier Caelen, Reid A. Johnson ve Gianluca Bontempi. Dengesiz Sınıflandırma için Düşük Örnekleme ile Olasılığı Kalibre etme. Bilişimsel Zeka ve Veri Madenciliği Sempozyumu'nda (CIDM), IEEE, 2015

Dal Pozzolo, Andrea; Caelen, Olivier; Le Borgne, Yann-Ael; Waterschoot, Serge; Bontempi, Gianluca. Kredi kartı sahtekarlığını tespit etme konusunda çalışanlardan alınan dersler, Başvurularda uzman sistemleri, 41.10.4915-4928,2014, Bergama

Dal Pozzolo, Andrea; Boracchi, Giacomo; Caelen, Olivier; Alippi, Cesare; Bontempi, Gianluca. Kredi kartı sahtekarlığı algılama: gerçekçi bir modelleme ve yeni bir öğrenme stratejisi, nöral ağlar ve öğrenme sistemlerinde IEEE işlemleri,29,8,3784-3797,2018,IEEE

Dal Pozzolo, Andrea Uyarlanabilir Makine öğrenimi için kredi kartı sahtekarlığı tespiti ULB MLG doktora tezi (G. Bontempi)

Carcillo, Fabrizio; Dal Pozzolo, Andrea; Le Borgne, Yann-Aël; Caelen, Olivier; Mazzer, Yannis; Bontempi, Gianluca. Scarff: Spark ile akış kredi kartı sahtekarlığı tespiti için ölçeklenebilir bir çerçeve, Information fusion,41, 182-194,2018,Elsevier

Carcillo, Fabrizio; Le Borgne, Yann-Aël; Caelen, Olivier; Bontempi, Gianluca. Gerçek hayatta kredi kartı sahtekarlığı tespiti için aktif öğrenme stratejileri: değerlendirme ve görselleştirme, Uluslararası Veri Bilimi ve Analiz Dergisi, 5.4.285-300.2018,Springer International Publishing

Bertrand Lebichot, Yann-Aël Le Borgne, Liyun He, Frederic Oblé, Gianluca Bontempi Deep-Learning Domains Adaptation Techniques for Credit Cards Fraud Detection (Kredi Kartı Sahtekarlığı Algılama İçin Derin Öğrenme Alan Adı Uyarlama Teknikleri), INNSBDDL 2019: Büyük Veri ve Derin Öğrenmede Son İlerlemeler, s. 78-88, 20

Fabrizio Carcillo, Yann-Aël Le Borgne, Olivier Caelen, Frederic Oblé, Gianluca Bontempi Kredi Kartı Sahtekarlığı Algılamada Gözetimsiz ve Gözetimli Öğrenimi Bilgi Bilimleri, 2019

3. Ortamınızı ayarlama

Bu codelab'i çalıştırmak için faturalandırmanın etkin olduğu bir Google Cloud Platform projesine ihtiyacınız var. Proje oluşturmak için buradaki talimatları uygulayın.

  1. BigQuery API'yi etkinleştirme

BigQuery'ye gidin ve etkinleştirilmemişse Etkinleştir'i seçin. Modelinizi oluşturmak için bu gereklidir.

4. Verileri inceleyin

1. Adım: BigQuery'ye gidin

https://cloud.google.com/console sayfasında BigQuery'yi bulun.

2. Adım: Sorgu kullanarak verileri inceleyin

Düzenleyicide , ortak veri kümesindeki verileri incelemek için aşağıya SQL sorgusunu yazın .

SELECT * FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` LIMIT 5

3. adım: Yürütme

Sorguyu yürütmek için yukarıdaki Çalıştır komutuna basın

c670e136ecd58236.png

Sonuçlar

Sorgu Sonuçları panelinde ve aşağıdakine benzer bir görünümde olmalıdır. Veriler değişiklik gösterebilir

be082fb135879158.png

İlgili sütunları ve çıktıyı inceleyin.

Verilerin nasıl dağıtıldığını anlamak için birden fazla sorgu çalıştırabilirsiniz. Bazı örnekler:

SELECT count(*) FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` 
where Class=0;
SELECT count(*) FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` 
where Class=1;

5. Çıkış veri kümesi oluşturma

1. Adım: Model oluşturmak için veri kümesi oluşturun

  1. Gezgin panelinde - Sol tarafta şu anda üzerinde çalıştığınız projeyi seçin , yanındaki üç noktayı tıklayın

7618699754e066bd.png

  1. Sağ üstte, Veri Kümesi Oluştur'u tıklayın

17851cc9db05dc1.png

  1. Veri kümesi adı, saklama, konum vb. bilgilerini girin. Bu ayarları kullan

b8b6731408f61d57.png

6. Mantıksal Regresyon Modeli Oluşturma

1. Adım: Hesap Özeti oluşturun

Sorgu penceresinde, model oluşturma için aşağıdaki sorguyu yazın. Bu ifadeyle temel seçenekleri anlayın. Bu bağlantıda açıklanmaktadır.

INPUT_LABEL_COLS tahmin etiketini belirtir

auto_CLASS_WEIGHTS dengesiz veri kümeleri için kullanılır

MODEL_TYPE, bu durumda kullanılan algoritmanın Mantıksal Regresyon olduğunu belirtir

DATA_SPLIT_METHOD, eğitim ve test verileri arasındaki ayrımı gösterir

CREATE OR REPLACE MODEL advdata.ulb_fraud_detection 
TRANSFORM(
    * EXCEPT(Amount),
    SAFE.LOG(Amount) AS log_amount
)
OPTIONS(
    INPUT_LABEL_COLS=['class'],
    AUTO_CLASS_WEIGHTS = TRUE,
    DATA_SPLIT_METHOD='seq',
    DATA_SPLIT_COL='Time',
    MODEL_TYPE='logistic_reg'
) AS

SELECT 
 *
FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection`

2. adım: Yürütme

Yukarıdaki ifadeyi çalıştırın. Bu işlemin tamamlanması birkaç dakika sürer

Çalıştırma tamamlandıktan sonra önemli noktalara dikkat edin

3385a54d3907443e.png

  1. Gezgin panelinde model oluşturulacak
  2. Sorgu Sonuçları paneli, ML SQL'in herhangi bir SQL ifadesine benzer şekilde işlenmesi için geçen süreyi gösterir.
  3. Sorgu Sonuçları panelinde, incelemeniz için Modele Git bağlantısı da bulunur

3. adım: Keşfedin

Modele Git'i tıklayarak veya Gezgin panelinden oluşturulan modeli keşfedin. Sekmeler , oluşturulan model, eğitim, değerlendirme vb. hakkında bilgi sağlar. Sonuçları inceleme

b350f1b94835f2d1.png

Bu konuyu sonraki bölümlerde daha ayrıntılı olarak inceleyeceğiz

Mantıksal regresyon hakkında daha fazla bilgiyi burada bulabilirsiniz

7. Model değerlendirme metriklerini keşfetme

Bu adımda, modelimizin nasıl performans gösterdiğini göreceğiz.

Model eğitimi işiniz tamamlandıktan sonra, yeni eğittiğiniz modeli tıklayın ve Değerlendir sekmesine göz atın. Burada çok sayıda değerlendirme metriği var. Bunlardan yalnızca birine odaklanacağız :roc_auc

 SELECT * FROM ML.EVALUATE(MODEL advdata.ulb_fraud_detection)

Sonuçlar şuna benzer olacaktır. roc_auc genellikle dengesiz bir veri kümesi üzerinde daha önemlidir

c3c80286082dc336.png

Sonuçlar hakkında daha fazla bilgi edinmek için. ML'yi bulun.Belgeleri buradan değerlendirin

Hassasiyet ve Geri Çağırma

ROC Eğrisi ve AUC

8. Sınıfı belirli bir süre için tahmin et

Yeni bir sorgu oluştur'a basın ve aşağıdaki SQL'i yürütün. Tespit edilen zaman için sahte bir tutar var. Bu tahminin başarılı olup olmadığını

SELECT Amount, predicted_class_probs, Class
FROM ML.PREDICT( MODEL advdata.ulb_fraud_detection,
 (SELECT * FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` WHERE Time = 85285.0)
)

Çıkış aşağıdaki gibi görünmelidir (sayılar değişiklik gösterebilir)

676fc8accdab2f6c.png

Bu örnekte, etiketin ilişkili olasılığıyla birlikte tutarı gösteriyoruz. Buradaki sınıf sütunu, sonuçların ne olduğunu gösterir.

ML.PREDICT hakkında daha fazla bilgi edinin. Buraya bakın

9. Temizleme

Bu laboratuvarla oluşturulan kaynakları temizlemek istiyorsanız veri kümesini sol taraftaki Gezgin panelinden açın

e7d18fadd2b781be.png

Sağ üst köşede Veri Kümesini Sil'i tıklayın

b47bc819869bed6c.png

Ayrıntıları onaylamak için veri kümesi adını tekrar girin. Bizim örneğimizde bu değer advdata olacaktır.

10. Tebrikler

Tebrikler, gözetimli makine öğrenimiyle ilk modelinizi başarıyla oluşturdunuz, değerlendirdiniz ve tahmin ettiniz.

Mantıksal regresyon modeli oluşturmak için gereken temel adımları artık biliyorsunuz.

Sırada ne var?

Başarılı bir proje yöneticisi olarak

Referans belgeler