Khám phá cách truyền thống để phát hiện gian lận
Trong bài tập này, bạn sẽ thử tìm các trường hợp gian lận trong bộ dữ liệu thẻ tín dụng theo “cách cũ”. Đầu tiên, bạn sẽ xác định các ngưỡng dựa trên thống kê thông dụng để tách giao dịch gian lận và không gian lận. Sau đó, áp dụng các ngưỡng đó lên các đặc trưng để phát hiện gian lận. Đây là thực hành phổ biến trong các nhóm phân tích gian lận.
Các ngưỡng thống kê thường được xác định bằng cách xem xét giá trị trung bình (mean) của các quan sát. Hãy bắt đầu bằng cách kiểm tra xem trung bình của các đặc trưng có khác nhau giữa các trường hợp gian lận và không gian lận hay không. Tiếp theo, bạn sẽ dùng thông tin đó để đặt các ngưỡng hợp lý. Cuối cùng, bạn sẽ kiểm tra mức độ hiệu quả của phương pháp này trong phát hiện gian lận.
pandas đã được import dưới tên pd.
Bài tập này là một phần của khóa học
Phát hiện gian lận với Python
Hướng dẫn bài tập
- Dùng
groupby()để nhómdftheoClassvà lấy giá trị trung bình của các đặc trưng. - Tạo điều kiện:
V1nhỏ hơn -3 vàV3nhỏ hơn -5 để gắn cờ các trường hợp gian lận. - Để đo lường hiệu quả, dùng hàm
crosstabcủapandasđể so sánh các trường hợp bị gắn cờ với các trường hợp gian lận thực tế.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Get the mean for each group
____.____(____).mean()
# Implement a rule for stating which cases are flagged as fraud
df['flag_as_fraud'] = np.where(np.logical_and(______), 1, 0)
# Create a crosstab of flagged fraud cases versus the actual fraud cases
print(____(df.Class, df.flag_as_fraud, rownames=['Actual Fraud'], colnames=['Flagged Fraud']))