การกำจัด Outlier ด้วยเปอร์เซ็นต์
วิธีหนึ่งที่ช่วยป้องกันไม่ให้ข้อมูลส่วนน้อยส่งผลเสียต่อการวิเคราะห์มากเกินไป คือการตัดข้อมูลที่มีค่าสูงสุดและ/หรือต่ำสุดออกตามเปอร์เซ็นต์ที่กำหนด โดยหาควอนไทล์ที่ต้องการ แล้วใช้ mask ตัดข้อมูลออก วิธีนี้มีประโยชน์อย่างมากเมื่อต้องการหลีกเลี่ยงค่าสูงสุดในชุดข้อมูล อย่างไรก็ตาม ควรระลึกไว้ว่าแม้จะไม่มี outlier วิธีนี้ก็ยังคงตัดข้อมูล N เปอร์เซ็นต์บนสุดออกอยู่ดี
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering สำหรับ Machine Learning ใน Python
คำแนะนำการฝึกหัด
- หาควอนไทล์ที่ 95 ของคอลัมน์
ConvertedSalary - ตัด DataFrame
so_numeric_dfให้เหลือเฉพาะแถวที่ConvertedSalaryมีค่าน้อยกว่าควอนไทล์ที่ 95 - พล็อตฮิสโตแกรมของ
so_numeric_df[['ConvertedSalary']] - พล็อตฮิสโตแกรมของ
trimmed_df[['ConvertedSalary']]
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Find the 95th quantile
quantile = so_numeric_df['ConvertedSalary'].____(____)
# Trim the outliers
trimmed_df = so_numeric_df[so_numeric_df['ConvertedSalary'] < ____]
# The original histogram
so_numeric_df[['ConvertedSalary']].____()
plt.show()
plt.clf()
# The trimmed histogram
trimmed_df[['ConvertedSalary']].____()
plt.show()