В настоящее время работаю над проблемой регрессии, у меня возникают некоторые проблемы с производительностью моделей. Чтобы иметь «возможно» лучшую производительность, у меня есть некоторые выбросы, которые я бы хотел удалить.
Проблема: удаление выбросов из информационного кадра, содержащего различные типы.
DF выглядит так:
df.dtypes
CONTRACT_TYPE object
CONTRACT_COC object
ORIGINATION_DATE datetime64[ns]
MATURITY_DATE datetime64[ns]
ORIGINAL_TERM float64
REMAINING_TERM int64
INTEREST_RATE_INTERNAL float64
INTEREST_RATE_FUNDING float64
Однако, после попытки этого кода, как показано ниже, без успеха и даже zscore, я прошу некоторую помощь.
# Computing IQR
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1
df_out = df[~((df < (Q1 - 1.5 * IQR)) |(df > (Q3 + 1.5 * IQR))).any(axis=1)]
Подводя итог, я хотел бы видеть на графиках (scatter, boxplot) более «нормальное» распределение без или с меньшим количеством выбросов.
Пожалуйста, не стесняйтесь, если вам нужна дополнительная информация.