Удаление выбросов на основе процентилей
Один из способов ограничить влияние небольшой части данных на результат — удалить определённый процент наибольших и/или наименьших значений в столбце. Для этого нужно найти соответствующий квантиль и отфильтровать данные с помощью маски. Этот подход особенно удобен, когда требуется исключить самые высокие значения из набора данных. Важно учитывать: даже если выбросов нет, метод всё равно удалит верхние N процентов значений.
Это упражнение является частью курса
Конструирование признаков для машинного обучения в Python
Инструкции к упражнению
- Найдите 95-й квантиль столбца
ConvertedSalary. - Отфильтруйте DataFrame
so_numeric_df, оставив только строки, в которых значениеConvertedSalaryменьше 95-го квантиля. - Постройте гистограмму по
so_numeric_df[['ConvertedSalary']]. - Постройте гистограмму по
trimmed_df[['ConvertedSalary']].
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Find the 95th quantile
quantile = so_numeric_df['ConvertedSalary'].____(____)
# Trim the outliers
trimmed_df = so_numeric_df[so_numeric_df['ConvertedSalary'] < ____]
# The original histogram
so_numeric_df[['ConvertedSalary']].____()
plt.show()
plt.clf()
# The trimmed histogram
trimmed_df[['ConvertedSalary']].____()
plt.show()