開始使用免費開始

以百分比為基礎的離群值移除

為了避免少量資料對結果產生過度不利的影響,一種作法是移除欄位中一定百分比的最大值與/或最小值。具體做法是先找到相應的分位數,然後使用遮罩(mask)依此截取資料。當你擔心資料集中最高的那些值應該被排除時,這個方法特別實用。使用此方法時要記得,即使資料中沒有離群值,這仍然會從資料集中移除相同的前 N% 資料。

本練習屬於課程

Feature Engineering for Machine Learning in Python

檢視課程

練習說明

  • 找出 ConvertedSalary 欄位的第 95 分位數。
  • so_numeric_df DataFrame 截取為僅保留 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()
編輯並執行程式碼