Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 1/10
Кратко:
- В прошлой теме вы помогали компании «Маршрут Экспресс» предсказывать удовлетворённость поездкой.
- В этой теме вы подробнее изучите работу с признаками и освоите несколько новых инструментов.
- Вы научитесь пользоваться кодировщиками OrdinalEncoder и LabelEncoder.
- Обрабатывать неизвестные значения категорий в тестовых данных.
- Обнаруживать утечку данных.
- Удалять признаки и оставлять только самые важные.
- Создавать новые полезные признаки для задачи.
- Восемь уроков по 30-40 минут
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 2/10
Кратко:
- Компания "Маршрут Экспресс" собирает новые данные для улучшения модели классификации.
- Модель показывает хорошие результаты, но заказчик хочет модель более высокого качества.
- Новые данные описывают признаки, которые помогут улучшить уровень удовлетворенности клиентов.
- Данные представлены в виде таблицы с id, оценками комфортности и качества услуг.
- Необходимо объединить данные по столбцу id для обучения модели.
- Три основных способа объединения данных: concat(), merge() или join().
- Метод join() выбран для объединения данных.
- Объединение данных позволяет разработать модель более высокого качества.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 3/10
Кратко:
- В прошлом уроке вы успешно объединили данные "Маршрут Экспресс" с помощью метода join().
- Задача 1: изучение распределения признака Оценка качества питания на тренировочных данных.
- Задача 2: инициализация OneHotEncoder с игнорированием неизвестных значений и удалением первого столбца с новым признаком.
- В этом уроке вы разобрались с одним новым признаком - с остальными вам предстоит поработать в следующих уроках.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 4/10
Кратко:
- В статье рассматривается кодирование категориальных признаков с использованием OrdinalEncoder и SimpleImputer из библиотеки Scikit-Learn.
- OrdinalEncoder переводит строковые категории в числа от 0 до n-1, где n - количество уникальных категорий.
- OrdinalEncoder может обрабатывать неизвестные категории, используя параметры handle_unknown и unknown_value.
- Для обработки пропусков в данных можно использовать инструмент SimpleImputer, который заменяет недостающие значения на моду, медиану, константу и другие значения.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 5/10
Кратко:
- OrdinalEncoder не создает новые признаки, в отличие от OneHotEncoder.
- Задача: кодирование ранговых переменных (оценка комфортности времени отправления/прибытия и общая оценка качества предоставленной услуги).
- Изучение распределения ранговых переменных на тренировочных данных.
- Использование OrdinalEncoder и параметра categories для кодирования ранговых переменных.
- Создание списков с упорядоченными значениями категорий для каждого признака.
- Инициализация OrdinalEncoder с вложенным списком категорий.
- Кодирование ранговых переменных и запись преобразованных значений в новые колонки.
- Учет параметров handle_unknown и unknown_value при работе с OrdinalEncoder.
- Кодирование оставшихся ранговых переменных с использованием OrdinalEncoder и упорядоченных списков категорий.
- OrdinalEncoder работает с ранговыми и номинальными переменными.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 6/10
Кратко:
- Метрика модели может быть идеальной, но качество на тестовой выборке может быть плохим.
- Утечка целевого признака может быть причиной плохого качества модели.
- Утечка данных - использование информации, которая не будет доступна во время прогнозирования.
- Признак общей оценки качества предоставленной услуги является примером утечки.
- Матрица корреляции может помочь обнаружить проблему утечки.
- Удаление признака с утечкой может улучшить качество модели.
- Примеры признаков с утечкой: оценка качества поездки и количество взятых экскурсий.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 7/10
Кратко:
- Выборочное удаление признаков влияет на качество модели.
- Важно изучить важность признаков для определения их удаления.
- Признаки с высокой корреляцией могут вызывать проблемы в модели.
- Удаление признаков с высокой корреляцией может помочь модели сфокусироваться на одном из них.
- Удаление наименее полезных признаков также может повысить метрику качества модели.
- Выбор признака для удаления зависит от конкретной задачи.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 8/10
Кратко:
- Мультиклассовая классификация: переход от бинарной к многоклассовой задаче.
- Изменение запросов бизнеса и усложнение задачи Data Science.
- Новый признак общей оценки качества услуги вместо удовлетворенности поездкой.
- Использование кодировщиков для преобразования строковых классов в числа.
- Применение LabelEncoder для кодирования целевого признака.
- Подбор гиперпараметров с помощью RandomizedSearchCV и метрики ROC-AUC.
- Избавление от наименее полезных признаков на основе их важности.
- Использование автоматизированного поиска гиперпараметров для решения задачи мультиклассовой классификации.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 9/10
Кратко:
- Feature engineering - процесс создания новых признаков для улучшения качества модели.
- Алгоритмические способы генерации новых признаков: биннинг, полиномизация, применение функции к признакам.
- Биннинг: ранжирование числового признака, например, категории возраста.
- Полиномизация: возведение признака в степень, например, для линейных моделей.
- Применение функции к признакам: использование математических операций и функций к текущим признакам.
- Другие способы: бинаризация, способ на основе бизнес-логики.
- Экспериментирование с разными подходами и обучение моделей на новых признаках для сравнения качества и важности признаков.
Спринт 10/24 → Тема 7/11: Работа с признаками → Урок 10/10
Кратко:
- Умение обращаться с кодировщиками и удалять или добавлять признаки.
- Преобразование входных и целевых признаков с помощью кодировщиков OrdinalEncoder и LabelEncoder.
- Обработка неизвестных значений категорий в данных с использованием специальных параметров инициализации кодировщика.
- Обнаружение утечки данных с помощью корреляции признаков.
- Удаление наименее полезных признаков из набора данных для повышения метрики качества модели.
- Создание новых признаков для повышения качества модели.
- Шпаргалка по теме для закрепления знаний.
- Изучение инструментов оценки важности признаков и новых подходов для отбора признаков в следующей теме.
Заключение
Поздравляем: вы столько узнали в этой теме! Теперь вы умеете обращаться с несколькими кодировщиками, избавляться от утечки данных, а также удалять или добавлять признаки, ориентируясь на качество метрики.
Чему вы научились
- Преобразовывать входные признаки с помощью кодировщика
OrdinalEncoder, а целевые — с помощьюLabelEncoder.OrdinalEncoderпозволяет указывать порядок кодирования для ранговых переменных и кодировать номинальные признаки в лексикографическом порядке. С помощьюLabelEncoderстоит кодировать только целевой признак. - Обрабатывать неизвестные значения категорий в новых данных. Чтобы избежать ошибки при обработке неизвестных категорий, можно использовать специальные параметры при инициализации кодировщика. Неизвестные категории можно либо игнорировать, либо заменять на нужные значения.
- Обнаруживать утечку данных. При утечке данных во время обучения может использоваться информация, которая не будет доступна во время прогнозирования. Из-за этого получается нереалистично высокая метрика. Чтобы найти утечку в данных, можно изучить корреляцию признаков.
- Удалять признаки и оставлять только самые важные. Анализируя важность признаков в дереве решений, можно удалить наименее полезные признаки из набора данных. Часто это может увеличить метрику качества модели.
- Создавать новые полезные признаки для задачи. Признаки необязательно только удалять. Создание признаков также может повысить качество модели. Признаки генерируют множеством способов, а выбрать нужные можно путём экспериментов и анализа важности признаков.
Заберите с собой
Чтобы ничего не забыть, скачайте шпаргалку по теме.