Целевая переменная имеет выбросы: регрессия машинного обучения - PullRequest
0 голосов
/ 13 января 2019

В настоящее время я работаю над проблемой регрессии, когда целевая переменная имеет почти 2000 выбросов против 54000 не выбросов.

Я хотел бы знать, как мы имеем дело с данными, где целевая переменная имеет выбросы ??

То, что я пробовал до сих пор:

  1. Сбор данных всего поезда, включая выбросы - оценка в порядке, ок
  2. полное удаление выбросов в данных поезда - оценка хуже
  3. принимая 80% комбинацию выбросов в данных поезда - оценка улучшается

1 Ответ

0 голосов
/ 04 апреля 2019

По моему предложению, если у вас есть outliner в целевой переменной, не просто удаляйте строки из набора данных, вместо этого пытайтесь привести их в пределах границ.

Вы можете определить верхнюю границу и нижнюю границу, но построение графического окна

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
...