На мой взгляд, существует несколько способов обработки выбросов набора данных
> -> Delete data
> -> Transforming using log or Bin
> -> using mean median
> -> Test separately
У меня есть набор данных из примерно 50000 наблюдений, и каждое наблюдение имеет довольно много значений выбросов (некоторые переменные имеют небольшое количество выбросов, некоторые имеют 100-200 выбросов), поэтому исключение данных - это не то, что я ищу, так как это приводит к потере огромного куска данных.
Я где-то читал, что использование среднего и медианного значения для искусственных выбросов, но в моем Я думаю, что выбросы являются естественными
Я собирался использовать медиану, чтобы избавиться от выбросов, а затем использовал среднее для заполнения пропущенных значений. но это не выглядит хорошо, однако я использовал его с этим кодом
median = X.median()
std =X.std()
outliers = (X - median).abs() > std
X.outliers = np.nan
X.fillna(median, inplace = True)
он действительно снизил переоснащение только одной регрессии модели logisti c, но все равно дает 100% для случайного леса и форма графика изменилась с на этот Так что я действительно запутался, какую технику использовать? Я попытался заменить 5-й и 95-й процентили данных, но это не сработало. Должен ли я хранить данные в каждом столбце от 1 до 10? Также я должен нормализовать или стандартизировать свои данные перед применением любой модели? Любое руководство будет оценено