Theo dõi gian lận thẻ
Thuộc phần Học không giám sát trong hành trình Machine Learning của Coddy. Bài học 49 trên 51.
Nhóm phụ trách thẻ của một quỹ tín dụng chỉ có thể kiểm tra thủ công một vài khoản thanh toán mỗi ngày. Tháng trước, các giao dịch gian lận ẩn ở những vùng rìa:
Nhưng không ai phát hiện được hành vi gian lận cho đến khi khách hàng khiếu nại vài tuần sau. Vì vậy, hai bộ phát hiện phải tìm những khoản thanh toán bất thường hoàn toàn không có nhãn.
Đã có các khiếu nại trong tuần này. Bộ phát hiện nào có thể bắt được nhiều hơn?
Thử thách
Khó400 khoản thanh toán tuần này nằm trong payments.csv; chương trình đọc số khoản mà nhóm có thể kiểm tra, budget.
- Chuẩn hóa bốn đặc trưng.
- Đánh dấu
budgetkhoản thanh toán bằng thuật toán cô lập (isolation forest) (random_state=0) và hệ số ngoại lệ cục bộ (local outlier factor) (20 láng giềng). - Chỉ lúc này mới mở
fraud: in ra số khoản mà mỗi danh sách phát hiện được và số khoản thanh toán hợp lệ mà nhóm phải kiểm tra. - Gửi cho nhóm danh sách phát hiện được nhiều khoản hơn:
the isolation forest's listhoặcthe local outlier factor's list, nếu bằng nhau thì gửieither list, they tie.
Với tháng trước và ngân sách là 10:
Budget: 10 of 300 payments
Isolation forest: caught 6 of 12 frauds, 4 honest payments checked
Local outlier factor: caught 10 of 12 frauds, 0 honest payments checked
Send the team: the local outlier factor's listTự làm thử
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# Mỗi giao dịch thanh toán bằng thẻ chiếm một hàng; fraud là 1 nếu khách hàng báo cáo giao dịch đó là gian lận sau vài tuần
payments = pd.read_csv("payments.csv")
features = ["amount_eur", "hour", "km_from_home", "minutes_since_last"]
# Số giao dịch thanh toán mà nhóm có thể kiểm tra thủ công
budget = int(input())
# Viết code của bạn bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Học không giám sát
1Tìm các nhóm
Học không cần nhãnĐo độ tương đồngTự thực hiện K-MeansK-Means trong scikit-learnÔn tập: thành viên phòng gym7PCA trong thực tế
Quan sát 64 chiềuCác thành phần như mẫu hìnhNén và dựng lạiPCA trước khi xây dựng mô hìnhÔn tập: máy quét khuôn mặt10Dự án: Khám phá chữ số
Quan sát các chữ sốThu gọn bằng PCAPhân cụm chữ sốĐặt tên cho các cụmTìm những chữ số khác biệt2Chọn k
Quán tínhPhương pháp khuỷu tayĐiểm số SilhouetteChuẩn hóa thang đo trước khi phân cụmÔn tập: Các vùng giao hàngTự luyện tập: Trình biên dịch Python online