1. Giới thiệu
Trong phòng thí nghiệm này, bạn sẽ sử dụng BigQuery để huấn luyện và phân phát mô hình có dữ liệu dạng bảng bằng bảng điều khiển. Sản phẩm/dịch vụ này là tính năng bổ sung yêu thích cho việc phân phát và huấn luyện mô hình dựa trên SQL. Công nghệ học máy của BigQuery giúp người dùng tạo và thực thi các mô hình học máy trong BigQuery bằng cách sử dụng truy vấn SQL. Mục tiêu là để dân chủ hoá công nghệ học máy bằng cách cho phép các chuyên viên SQL xây dựng mô hình bằng các công cụ hiện có, đồng thời tăng tốc độ phát triển bằng cách loại bỏ nhu cầu di chuyển dữ liệu.
Kiến thức bạn sẽ học được
- Khám phá dữ liệu có sẵn trong BigQuery
- Tạo mô hình bằng SQL trong BigQuery bằng bảng điều khiển
- Đánh giá kết quả của mô hình đã tạo
- Dự đoán một giao dịch nếu giao dịch đó gian lận hoặc không phải với mô hình được tạo
2. Giới thiệu về dữ liệu trong báo cáo
Các tập dữ liệu này chứa các giao dịch được thực hiện bằng thẻ tín dụng của các chủ thẻ Châu Âu vào tháng 9 năm 2013. Tập dữ liệu này thể hiện các giao dịch xảy ra trong hai ngày, trong đó chúng tôi có 492 giao dịch gian lận trong số 284.807 giao dịch. Đó là tình trạng mất cân bằng cao, lớp dương (người lừa đảo) chiếm 0,172% tổng số giao dịch.
Lớp này chỉ chứa các biến đầu vào dạng số là kết quả của phép biến đổi PCA. Rất tiếc, do vấn đề bảo mật, chúng tôi không thể cung cấp các tính năng ban đầu và thông tin cơ bản khác về dữ liệu này.
- Các tính năng V1, V2, ... V28 là các thành phần chính thu được từ PCA, các tính năng duy nhất chưa được chuyển đổi bằng PCA là "Time" và "Amount".
- Tính năng "Thời gian" chứa số giây đã trôi qua giữa mỗi giao dịch và giao dịch đầu tiên trong tập dữ liệu.
- Đối tượng "Số tiền" là Số tiền giao dịch, bạn có thể sử dụng tính năng này để tìm hiểu theo chi phí phụ thuộc vào ví dụ.
- Tính năng "Lớp" là biến phản hồi và sẽ nhận giá trị 1 trong trường hợp gian lận và 0 trong trường hợp không có hành vi gian lận.
Tập dữ liệu này đã được thu thập và phân tích trong quá trình hợp tác nghiên cứu giữa Worldline và Nhóm học máy ( http://mlg.ulb.ac.be) của ULB (Université Libre de Bruxelles) về việc khai thác dữ liệu lớn và phát hiện gian lận.
Bạn có thể xem thêm thông tin chi tiết về các dự án hiện tại và trước đây liên quan đến các chủ đề có liên quan trên https://www.researchgate.net/project/Fraud-detection-5 và trang về dự án DefeatFraud
Câu trích dẫn:
Andrea Dal Pozzolo, Olivier Caelen, Reid A. Johnson và Gianluca Bontempi. Hiệu chỉnh xác suất bằng phương pháp lấy mẫu thiếu khi phân loại không cân bằng. Trong Hội nghị chuyên đề về tính toán thông minh và khai thác dữ liệu (CIDM), IEEE, 2015
Dal Pozzolo, Andrea; Caelen, Olivier; Le Borgne, Yann-Ael; Waterschoot, Serge; Bontempi, Gianluca. Bài học rút ra về lĩnh vực phát hiện gian lận thẻ tín dụng từ góc độ chuyên viên, Hệ thống chuyên gia có ứng dụng,41,10,4915-4928,2014, Pergamon
Dal Pozzolo, Andrea; Boracchi, Giacomo; Caelen, Olivier; Alippi, Cesare; Bontempi, Gianluca. Phát hiện gian lận thẻ tín dụng: một mô hình thực tế và một chiến lược học tập mới, Các giao dịch của IEEE trên mạng nơron và hệ thống học tập,29,8,3784-3797,2018,IEEE
Dal Pozzolo, Andrea Học máy thích ứng để phát hiện gian lận thẻ tín dụng Luận án tiến sĩ ULB MLG (giám sát bởi G. Bontempi)
Carcillo, Fabrizio; Dal Pozzolo, Andrea; Le Borgne, Yann-Aël; Caelen, Olivier; Mazzer, Yannis; Bontempi, Gianluca. Scarff: một khung có thể mở rộng để phát trực tuyến phát hiện gian lận thẻ tín dụng bằng Spark, Information fusion,41, 182-194,2018,Elsevier
Carcillo, Fabrizio; Le Borgne, Yann-Aël; Caelen, Olivier; Bontempi, Gianluca. Các chiến lược học tập chủ động truyền trực tuyến để phát hiện gian lận thẻ tín dụng trong đời thực: đánh giá và trực quan hóa, Tạp chí Quốc tế Khoa học Dữ liệu và Phân tích, 5,4,285-300,2018,Springer International Publishing
Bertrand Lebichot, Yann-Aël Le Borgne, Liyun He, Frederic Oblé, Gianluca Bontempi Kỹ thuật thích ứng với miền học sâu để phát hiện gian lận thẻ tín dụng, INNSBDDL 2019: Những tiến bộ gần đây trong dữ liệu lớn và học sâu, trang 78-88, 2019
Fabrizio Carcillo, Yann-Aël Le Borgne, Olivier Caelen, Frederic Oblé, Gianluca Bontempi Kết hợp phương pháp học tập không giám sát và có giám sát trong phát hiện hành vi gian lận trên thẻ tín dụng
3. Thiết lập môi trường
Bạn cần một dự án Google Cloud Platform đã bật tính năng thanh toán để chạy lớp học lập trình này. Để tạo một dự án, hãy làm theo hướng dẫn tại đây.
- Bật API BigQuery
Chuyển đến BigQuery rồi chọn Bật nếu bạn chưa bật. Bạn sẽ cần những thông tin này để tạo mô hình.
4. Khám phá dữ liệu
Bước 1: Chuyển đến BigQuery
Tìm BigQuery trên https://cloud.google.com/console
Bước 2: Khám phá dữ liệu bằng cách sử dụng truy vấn
Trong trình chỉnh sửa , hãy nhập truy vấn SQL bên dưới để xem lại dữ liệu trong tập dữ liệu công khai .
SELECT * FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` LIMIT 5
Bước 3: Thực thi
Nhấn vào lệnh Run ở trên để thực thi truy vấn
Kết quả
Sẽ nằm trong bảng Kết quả truy vấn và trông giống như sau. Dữ liệu có thể khác nhau
Khám phá các cột liên quan và kết quả.
Bạn có thể chạy nhiều truy vấn để hiểu cách phân phối dữ liệu. Một số ví dụ có thể bao gồm
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. Tạo tập dữ liệu đầu ra
Bước 1: Tạo tập dữ liệu để tạo mô hình
- Trong bảng điều khiển Explorer - Phía bên trái, chọn dự án bạn hiện đang làm việc, nhấp vào ba dấu chấm bên cạnh dự án đó
- Nhấp vào Tạo tập dữ liệu ở trên cùng bên phải
- Nhập thông tin chi tiết về tên tập dữ liệu, tỷ lệ giữ chân, vị trí, v.v. Sử dụng các chế độ cài đặt này
6. Tạo mô hình hồi quy hậu cần
Bước 1: Tạo câu lệnh
Trong cửa sổ Truy vấn, hãy nhập truy vấn bên dưới để tạo mô hình. Hiểu các lựa chọn chính với câu lệnh này. Được giải thích trong đường liên kết này.
INPUT_LABEL_COLS cho biết nhãn dự đoán
auto_CLASS_WEIGHTS được dùng cho các tập dữ liệu không cân bằng
MODEL_TYPE sẽ cho biết thuật toán được sử dụng trong trường hợp này là thuật toán Hồi quy logit
DATA_SPLIT_METHOD cho biết sự phân chia giữa dữ liệu huấn luyện và dữ liệu kiểm thử
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`
Bước 2: Thực thi
Chạy câu lệnh trên. Quá trình này sẽ mất vài phút để hoàn tất
Lưu ý những điều quan trọng sau khi chạy xong
- Mô hình sẽ được tạo trong bảng điều khiển Explorer
- Bảng điều khiển Query Results sẽ có thời lượng cần thiết để xử lý ML SQL tương tự như mọi câu lệnh SQL
- Bảng điều khiển Kết quả truy vấn cũng sẽ có liên kết Chuyển đến mô hình để bạn khám phá
Bước 3: Khám phá
Khám phá Mô hình được tạo bằng cách nhấp vào Chuyển đến Mô hình hoặc từ bảng điều khiển Trình khám phá. Các thẻ này cung cấp thông tin về mô hình được tạo , huấn luyện, đánh giá, v.v. Xem lại kết quả
Chúng ta sẽ tìm hiểu kỹ hơn về chủ đề này trong các phần tiếp theo
Để biết thêm về Hồi quy logistic, hãy xem tại đây
7. Khám phá các chỉ số đánh giá mô hình
Ở bước này, chúng ta sẽ xem hiệu suất của mô hình.
Sau khi công việc huấn luyện mô hình của bạn hoàn tất, hãy nhấp vào mô hình bạn vừa huấn luyện rồi xem thẻ Đánh giá. Có nhiều chỉ số đánh giá – chúng ta sẽ chỉ tập trung vào một chỉ số :roc_auc
SELECT * FROM ML.EVALUATE(MODEL advdata.ulb_fraud_detection)
Kết quả sẽ có dạng như sau. roc_auc thường quan trọng hơn trên một tập dữ liệu không cân bằng
Để tìm hiểu thêm về kết quả. Tìm tài liệu về công nghệ học máy.Đánh giá tại đây
8. Dự đoán lớp trong một khoảng thời gian nhất định
Nhấn vào Compose truy vấn mới và thực thi SQL bên dưới. Thời gian ở đây được xác định có số tiền gian lận. Chúng tôi cố gắng đánh giá xem cụm từ gợi ý có hoạt động không
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ết quả sẽ có dạng như sau (số có thể khác nhau)
Trong trường hợp này, chúng tôi sẽ hiển thị số tiền với xác suất liên quan của nhãn. Cột loại ở đây cho biết kết quả thực tế.
Để tìm hiểu thêm về ML.PREDICT. Hãy xem tại đây
9. Dọn dẹp
Nếu bạn muốn dọn dẹp các tài nguyên đã tạo với phòng thí nghiệm này, hãy mở tập dữ liệu từ bảng điều khiển Explorer ở phía bên trái
Nhấp vào Xoá tập dữ liệu ở góc trên cùng bên phải
Nhập lại tên tập dữ liệu để xác nhận thông tin chi tiết. Trong trường hợp này, đây sẽ là advdata
10. Xin chúc mừng
Xin chúc mừng! Bạn đã tạo thành công mô hình đầu tiên, đánh giá và dự đoán bằng công nghệ học máy có giám sát!
Bây giờ, bạn đã biết các bước chính cần thiết để tạo mô hình hồi quy logit.
Tiếp theo là gì?
Hãy xem một số cách khác có liên quan đến việc dự đoán
- Làm quen với công nghệ học máy của BigQuery
- Dự báo chuỗi thời gian bằng công nghệ học máy BigQuery
- Mô hình phát hiện gian lận bằng AutoML
- Phát hiện gian lận bằng Tensorflow