เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

อัตราความแม่นยำตามธรรมชาติ

ในแบบฝึกหัดนี้ เราจะใช้ข้อมูลธุรกรรมบัตรเครดิตอีกครั้ง ฟีเจอร์และเลเบลมีลักษณะคล้ายกับข้อมูลในบทก่อนหน้า และข้อมูลมีความไม่สมดุลอย่างมาก เราได้เตรียมฟีเจอร์ X และเลเบล y ซึ่งเป็น NumPy array ทั้งคู่ไว้ให้แล้ว

ขั้นแรก ให้สำรวจว่าการฉ้อโกงพบบ่อยแค่ไหนในชุดข้อมูล เพื่อทำความเข้าใจว่า "ความแม่นยำตามธรรมชาติ" คือเท่าไร หากเราทำนายทุกรายการว่าไม่ใช่การฉ้อโกง การรู้ระดับ "ความแม่นยำ" ที่ต้องก้าวข้ามนั้นสำคัญมาก เพื่อให้ได้ การทำนายที่ดีกว่าการไม่ทำอะไรเลย ในแบบฝึกหัดต่อไป เราจะสร้าง random forest classifier ตัวแรกสำหรับการตรวจจับการฉ้อโกง ซึ่งจะทำหน้าที่เป็นโมเดล "เบสไลน์" ที่จะนำไปพัฒนาต่อในแบบฝึกหัดถัดๆ ไป

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การตรวจจับการฉ้อโกงด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นับจำนวนการสังเกตทั้งหมดโดยใช้ len() กับเลเบล y
  • นับจำนวนกรณีที่ไม่ใช่การฉ้อโกงในข้อมูลโดยใช้ list comprehension กับ y โปรดทราบว่า y เป็น NumPy array จึงไม่สามารถใช้ .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
____(____)
แก้ไขและรันโค้ด