开始使用免费开始使用

按百分比移除离群值

为了避免少量数据对结果产生过度负面影响,可以从该列中移除一定百分比的最大值和/或最小值。具体做法是先找到相应的分位数,然后用布尔掩码据此裁剪数据。如果您担心数据集中最高的那些值会干扰分析,这种方法尤其有用。需要注意的是,即使数据中没有离群值,这种方法仍然会从数据集中移除相同的前 N% 数据。

本练习是课程的一部分

Python 中的机器学习特征工程

查看课程

练习说明

  • 计算 ConvertedSalary 列的第 95 分位数。
  • 裁剪 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()
编辑并运行代码