Tingkat hit alami
Dalam latihan ini, Anda kembali akan menggunakan data transaksi kartu kredit. Fitur dan labelnya mirip dengan data di bab sebelumnya, dan datanya sangat tidak seimbang. Kami sudah menyediakan fitur X dan label y untuk Anda gunakan, keduanya berupa array numpy.
Pertama, Anda perlu menelusuri seberapa sering terjadinya kecurangan dalam himpunan data, untuk memahami apa itu "akurasi alami" jika kita memprediksi semuanya sebagai bukan kecurangan. Penting untuk memahami tingkat "akurasi" yang perlu Anda "kalahkan" agar prediksinya lebih baik daripada tidak melakukan apa-apa. Pada latihan berikut, Anda akan membuat classifier random forest pertama untuk deteksi kecurangan. Model itu akan menjadi "baseline" yang akan Anda coba tingkatkan pada latihan-latihan selanjutnya.
Latihan ini adalah bagian dari kursus
Deteksi Kecurangan di Python
Petunjuk latihan
- Hitung jumlah total observasi dengan mengambil panjang label
y. - Hitung kasus non-fraud dalam data dengan menggunakan list comprehension pada
y; ingatyadalah array NumPy sehingga.value_counts()tidak dapat digunakan dalam kasus ini. - Hitung akurasi alami dengan membagi jumlah kasus non-fraud dengan total observasi.
- Cetak persentasenya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Count the total number of observations from the length of y
total_obs = ____
# Count the total number of non-fraudulent observations
non_fraud = [i for ____ ____ ____ if i == 0]
count_non_fraud = non_fraud.count(0)
# Calculate the percentage of non fraud observations in the dataset
percentage = (float(____)/float(____)) * 100
# Print the percentage: this is our "natural accuracy" by doing nothing
____(____)