首页 > 解决方案 > 如何以及何时处理数据集中的异常值(一般策略)

问题描述

我偶然发现了以下问题:

我正在从事数据科学的初学者项目。我得到了测试和训练数据拆分,现在我正在分析每个特征,然后将其添加到离散连续变量的数据框或连续变量的数据框。这样做我遇到了一个带有大异常值的特征。如果我要删除它们,我已经添加到子数据框中的其他功能将具有比此更多的列条目。

我应该找到一种策略来用“更好”的值覆盖异常值,还是应该重新考虑我的策略,在一开始就为两种类型的变量拆分训练数据?我不认为摆脱真实 train_data 中的异常行会有用......

标签: pythonpandasoutlierseda

解决方案


处理异常值的方法有很多。在我的数据科学课程中,我们使用了“数据插补”:

但在您开始替换或删除数据之前,重要的是分析异常值产生的差异以及异常值是否有效。

  • 如果异常值无效,您可以删除异常值并使用数据插补,如下所述。

  • 如果您的异常值有效,请检查有无异常值的结果差异。如果差异非常小,则没有问题。如果差异很大,您可以使用标准化标准化

您可以将异常值替换为:

  • 随机值(不推荐)
  • 基于启发式逻辑的值
  • 基于其邻居的值
  • 中位数、均值或方式。
  • 基于插值的值(使用某个 ml 模型进行预测)

我建议使用具有最佳结果的策略。

Statquest 以非常简单易懂的方式解释了数据科学和机器学习的概念,所以如果您遇到更多理论问题,请参考他:https: //www.youtube.com/user/joshstarmer


推荐阅读