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.
- 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".
- Özellik "Zaman" her işlem ile veri kümesindeki ilk işlem arasında geçen saniye sayısını içerir.
- "Tutar" özelliği, işlem tutarıdır. Bu özellik, örneğin maliyete duyarlı bir öğrenim için kullanılabilir.
- "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.
- 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
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
İ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
- Gezgin panelinde - Sol tarafta şu anda üzerinde çalıştığınız projeyi seçin , yanındaki üç noktayı tıklayın
- Sağ üstte, Veri Kümesi Oluştur'u tıklayın
- Veri kümesi adı, saklama, konum vb. bilgilerini girin. Bu ayarları kullan
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
- Gezgin panelinde model oluşturulacak
- Sorgu Sonuçları paneli, ML SQL'in herhangi bir SQL ifadesine benzer şekilde işlenmesi için geçen süreyi gösterir.
- 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
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
Sonuçlar hakkında daha fazla bilgi edinmek için. ML'yi bulun.Belgeleri buradan değerlendirin
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)
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
Sağ üst köşede Veri Kümesini Sil'i tıklayın
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
- BigQuery ML'yi kullanmaya başlama
- BigQuery ML ile zaman serisi tahmini
- AutoML kullanan sahtekarlık algılama modeli
- Tensorflow kullanarak sahtekarlık algılama