開始使用免費開始

自然命中率

在這個練習中,你會再次使用信用卡交易資料。特徵與標籤與上一章相似,而這份資料高度不平衡。我們已經提供了可用的特徵 X 與標籤 y,兩者都是 NumPy 陣列。

首先,你需要先瞭解詐欺在資料集中的比例,進而推算如果把所有案例都預測為非詐欺時的「自然準確率」。理解這個基準很重要,因為你需要知道要「超越」哪個「準確率」門檻,才能比什麼都不做更好。在接下來的練習中,你將建立第一個用於詐欺偵測的隨機森林分類器。它會作為你接下來要持續改進的「基準」模型。

本練習屬於課程

Fraud Detection in Python

檢視課程

練習說明

  • 透過取得標籤 y 的長度來計算觀測值的總數。
  • 使用 y 的串列生成式來計算資料中的非詐欺案例;請記得 y 是 NumPy 陣列,因此此處不能使用 .value_counts()。
  • 以非詐欺案例數除以觀測值總數,計算自然準確率。
  • 印出百分比。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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
____(____)
編輯並執行程式碼