处理离群值
在上一个练习中,您学习了在机器学习面试中,如何通过可视化离群值来发挥作用。另一个常用的方法是计算 Z 分数(Z-score),它为离群值提供阈值:大约为均值正负 3 个标准差。
在本练习中,您将使用 scipy.stats 模块,通过 stats.zscore() 函数计算 Z 分数,并使用 mstats.winsorize() 函数采用 Winsorizing 技术来替换离群值。
回顾视频课程内容:高于和/或低于 1.5 倍 IQR 的点应视为潜在离群值。本练习最后一步中,该阈值为 2120。
相关包已为您导入,同时已将 loan_data 的数值型与分类型列分别提取并保存为 numeric_cols 和 categoric_cols。

本练习是课程的一部分
用 Python 练习机器学习面试题
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Print: before dropping
print(numeric_cols.mean())
print(numeric_cols.median())
print(numeric_cols.max())
# Create index of rows to keep
idx = (np.____(stats.____(____)) < 3).all(axis=1)
# Concatenate numeric and categoric subsets
ld_out_drop = pd.concat([numeric_cols.loc[____], categoric_cols.loc[____]], axis=1)
# Print: after dropping
print(ld_out_drop.mean())
print(ld_out_drop.median())
print(ld_out_drop.max())