目标变量具有异常值:机器学习回归

时间:2019-01-13 05:30:50

标签: python machine-learning scikit-learn linear-regression

我目前正在处理一个回归问题,该目标变量具有接近2000个离群值,而54000个非离群值。

我想知道我们如何处理目标变量具有异常值的数据?

到目前为止我已经尝试过的事情:

  1. 获取包括异常值在内的整个火车数据-可以确定得分
  2. 完全删除火车数据中的异常值-分数更差
  3. 在火车数据中结合80%的异常值-得分得到改善

1 个答案:

答案 0 :(得分:0)

在我的建议下,如果目标变量中包含大纲显示符号,则不要简单地从数据集中删除行,而应尝试将它们置于边界限制之内。

您可以确定上下边界,但可以绘制方框图

import seaborn as sns     
sns.boxplot(x=dataset['target Variable'])

此外,您可以使用

计算目标变量中每个值的出现总数

dataset['target variable'].value_counts()

然后使用以下代码设置上限和下限

dataset.loc[dataset['target variable'] > upper_bound, 'target variable'] = upper_limit
dataset.loc[dataset['target variable'] < Lower_bound, 'target variable'] = Lower_limit