Loại bỏ ngoại lệ theo tỷ lệ phần trăm
Một cách để đảm bảo một phần nhỏ dữ liệu không gây ảnh hưởng tiêu cực quá mức là loại bỏ một tỷ lệ phần trăm nhất định các giá trị lớn nhất và/hoặc nhỏ nhất trong cột. Bạn có thể làm điều này bằng cách tìm phân vị phù hợp và cắt tỉa dữ liệu bằng một mặt nạ (mask). Cách tiếp cận này đặc biệt hữu ích nếu bạn lo ngại rằng các giá trị cao nhất trong tập dữ liệu nên được loại bỏ. Khi dùng cách này, bạn cần nhớ rằng ngay cả khi không có ngoại lệ, nó vẫn sẽ loại bỏ cùng một tỷ lệ phần trăm N ở phía trên của tập dữ liệu.
Bài tập này là một phần của khóa học
Feature Engineering cho Machine Learning bằng Python
Hướng dẫn bài tập
- Tìm phân vị 95 của cột
ConvertedSalary. - Cắt tỉa DataFrame
so_numeric_dfđể giữ lại tất cả các hàng cóConvertedSalarynhỏ hơn phân vị 95 của nó. - Vẽ biểu đồ histogram của
so_numeric_df[['ConvertedSalary']]. - Vẽ biểu đồ histogram của
trimmed_df[['ConvertedSalary']].
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()