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

ตรวจสอบสัดส่วนการฉ้อโกงต่อธุรกรรมปกติ

ในบทนี้ เราจะทำงานกับ creditcard_sampledata.csv ซึ่งเป็นชุดข้อมูลธุรกรรมบัตรเครดิต โดยในความเป็นจริง การฉ้อโกงเป็นกรณีส่วนน้อยอย่างมากเมื่อเทียบกับธุรกรรมทั้งหมด

อย่างไรก็ตาม อัลกอริทึม Machine Learning มักทำงานได้ดีที่สุดเมื่อแต่ละคลาสในชุดข้อมูลมีจำนวนใกล้เคียงกัน หากมีกรณีการฉ้อโกงน้อยมาก โมเดลก็จะมีข้อมูลไม่เพียงพอสำหรับการเรียนรู้ ปัญหานี้เรียกว่า class imbalance (ความไม่สมดุลของคลาส) และเป็นหนึ่งในความท้าทายหลักของการตรวจจับการฉ้อโกง

มาสำรวจชุดข้อมูลนี้และสังเกตปัญหา class imbalance กัน

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

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

ดูคอร์ส

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

  • นำเข้า pandas ในชื่อ pd และอ่านข้อมูลบัตรเครดิต จากนั้นกำหนดให้กับตัวแปร df (ขั้นตอนนี้ทำไว้ให้แล้ว)
  • ใช้ .info() เพื่อแสดงข้อมูลทั่วไปของ df
  • ใช้ .value_counts() เพื่อนับจำนวนธุรกรรมที่เป็นการฉ้อโกงและที่ไม่ใช่การฉ้อโกงในคอลัมน์ 'Class' แล้วกำหนดผลลัพธ์ให้กับตัวแปร occ
  • คำนวณสัดส่วนของธุรกรรมที่เป็นการฉ้อโกงต่อจำนวนธุรกรรมทั้งหมดในชุดข้อมูล

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import pandas and read csv
import pandas as pd
df = pd.read_csv("creditcard_data.csv")

# Explore the features available in your dataframe
print(df.____)

# Count the occurrences of fraud and no fraud and print them
occ = df['____'].____()
print(occ)

# Print the ratio of fraud cases
print(occ / ____)
แก้ไขและรันโค้ด