Дорогой друг!
Специально для тебя, есть готовое переработанное решение в формате ."IPYNB" (.ipynb), но оно платное.
При получении вами критического (красного) замечания по проекту, проведу правки.
Не можешь оплатить, тогда через "Помощь" запроси другую систему оплаты (Webmoney, Alipay, Telegram (USDT, TON)).
Вернуться в раздел: Я.Практикум
Вернуться в оглавление: Я.Практикум
Проект: Обучение с учителем: качество модели
Описание проекта
Позади много уроков и заданий, и закрепить свои знания, как обычно, вы сможете в самостоятельном проекте. Это непростой проект, в котором от вас потребуется больше самостоятельности. Этапы работы описаны кратко, и вам понадобится декомпозировать задачи, то есть разделить их на более мелкие. Опирайтесь на знания об этапах анализа данных и машинного обучения из прошлых курсов.
Перейдём к задаче. HR-аналитики компании «Работа с заботой» помогают бизнесу оптимизировать управление персоналом: бизнес предоставляет данные, а аналитики предлагают, как избежать финансовых потерь и оттока сотрудников. В этом HR-аналитикам пригодится машинное обучение, с помощью которого получится быстрее и точнее отвечать на вопросы бизнеса.
Компания предоставила данные с характеристиками сотрудников компании. Среди них — уровень удовлетворённости сотрудника работой в компании. Эту информацию получили из форм обратной связи: сотрудники заполняют тест-опросник, и по его результатам рассчитывается доля их удовлетворённости от 0 до 1, где 0 — совершенно неудовлетворён, 1 — полностью удовлетвоён.
Собирать данные такими опросниками не так легко: компания большая, и всех сотрудников надо сначала оповестить об опросе, а затем проследить, что все его прошли.
У вас будет несколько задач. Первая — построить модель, которая сможет предсказать уровень удовлетворённости сотрудника на основе данных заказ чика.
Почему бизнесу это важно: удовлетворённость работой напрямую влияет на отток сотрудников. А предсказание оттока — одна из важнейших задач HR-аналитиков. Внезапные увольнения несут в себе риски для компании, особенно если уходит важный сотрудник.
Ваша вторая задача — построить модель, которая сможет на основе данных заказчика предсказать то, что сотрудник уволится из компании.
Теперь расскажем подробнее о задачах.
Задача 1: предсказание уровня удовлетворённости сотрудника
Для этой задачи заказчик предоставил данные с признаками:
id
— уникальный идентификатор +сотр
удника;dept
— отдел, в котором работает сотрудник;level
— уровень занимаемой должности;workload
— уровень загруженности сотрудника;employment_years
— длительность работы в компании (в годах);last_year_promo
— показывает, было ли повышение за последний год;last_year_violations
— показывает, нарушал ли сотрудник трудовой договор за последний год;supervisor_evaluation
— оценка качества работы сотрудника, которую дал руководитель;salary
— ежемесячная зарплата сотрудника;job_satisfaction_rate
— уровень удовлетворённости сотрудника работой в компа нии, целевой признак.
Шаг 1. Загрузка данных
Загрузите файлы с данными:
Тренировочная выборка:
train_job_satisfaction_rate.csv
Входные признаки тестовой выборки:
Целевой признак тестовой выборки:
test_target_job_satisfaction_rate.csv
Шаг 2. Предобработка данных
Изучите данные и сделайте выводы. При необходимости выполните предобработку. Если есть пропуски, заполните их в пайплайне.
Шаг 3. Исследовательский анализ данных
Исследуйте все признаки и сделайте выводы о том, как их нужно подготовить.
Шаг 4. Подготовка данных
Подготовку признаков выполните в пайплайне, дополнив пайплайн шага предобработки. При кодировании учитывайте особенности признаков и моделей и используйте как минимум два кодировщика.
Шаг 5. Обучение моделей
Обучите как минимум две модели. Возьмите одну линейную модель, а в качестве второй — дерево решений. Подберите гиперпараметры как минимум для одной модели с помощью одного из известных вам инструментов.
Выберите лучшую модель и проверьте её качество. Выбор делайте на основе новой метрики — SMAPE (англ. symmetric mean absolute percentage error, "симметричное среднее абсолютное процентное отклонение").
Напишите функцию, которая принимает на вход массивы NumPy
или объекты Series
в pandas и возвращает значение метрики SMAPE
. Используйте эту метрику при подборе гиперпараметров и оценке качества моделей.
Критерий успеха: SMAPE ≤ 15 на тестовой выборке.
В решении сохраните работу со всеми моделями, которые вы пробовали. Сделайте выводы.
Шаг 6. Оформление выводов
Сделайте промежуточные выводы о том, какая модель справилась лучше и почему.
Задача 2: предсказание увольнения сотрудника из компании
Для этой задачи вы можете использовать те же входные признаки, что и в предыдущей задаче. Однако целевой признак отличается: это quit
— увольнение сотрудника из компании.
Шаг 1. Загрузка данных
Загрузите данные из файлов:
Тренировочная выборка:
Входные признаки тестовой выборки те же, что и в прошлой задаче:
Целевой признак тестовой выборки:
Шаг 2. Предобработка данных
Изучите данные и при необходимости выполните предобработку. Если есть пропуски, заполните их в пайплайне.
Шаг 3. Исследовательский анализ данных
3.1. Проведите исследовательский анализ данных.
3.2. Составьте портрет «уволившегося сотрудника». Например, можно узнать, в каком отделе с большей вероятностью работает уволившийся сотрудник и какой у него уровень загруженности. Также можно сравнить среднее значение зарплаты ушедших сотрудников с теми, кто остался в компании.
3.3. Аналитики утверждают, что уровень удовлетворённости сотрудника работой в компании влияет на то, уволится ли сотрудник. Проверьте это утверждение: визуализируйте и сравните распределения признака job_satisfaction_rate
для ушедших и оставшихся сотрудников. Используйте данные с обоими целевыми признаками тестовой выборки.
Шаг 4. Добавление нового входного признака
Допустим, job_satisfaction_rate
и quit
действительно связаны и вы получили необходимое значение метрики в первой задаче. Тогда добавьте job_satisfaction_rate
, предсказанный лучшей моделью первой задачи, к входным признакам второй задачи.
Шаг 5. Подготовка данных
Подготовьте признаки так же, как и в первой задаче: выполните подготовку в пайплайне, дополнив пайплайн предобработки. При кодировании учитывайте особенности признаков и моделей и используйте как минимум два кодировщика.
Шаг 6. Обучение модели
Обучите как минимум три модели. Как минимум для двух из них подберите гиперпараметры. Проверьте качество лучшей модели.
Метрика оценки качества в этой задаче — ROC-AUC. Критерий успеха: ROC-AUC ≥ 0.91 на тестовой выборке. Напомним: отбор признаков часто помогает улучшить метрику.
Шаг 7. Выводы
Сделайте промежуточные выводы о том, какая модель справилась лучше и почему.
Общий вывод
Сформулируйте общий вывод:
- опишите задачу;
- опишите все этапы работы;
- добавьте выводы и дополнительные предложения для бизнеса.
Оформление
Выполните задание в Jupyter Notebook. Заполните программный код в ячейках типа code
, текстовые пояснения — в ячейках типа markdown
. Используйте форматирование и заголовки.
Как будут проверять мой проект
Ваш проект будут оценивать по критериям. Прежде чем решать кейс, внимательно изучите их.
На что обращают внимание при проверке проектов:
- как вы описываете найденные в данных проблемы;
- какие методы построения графиков применяете для исследовательского анализа;
- какие методы предобработки и подготовки данных применяете и как обосновываете принятое решение;
- используете ли пайплайны и автоматизируете ли повторяющиеся шаги;
- какие ML-решения вы реализуете;
- как выбираете и объясняете лучшее ML-решение;
- как вы интерпретируете результаты работы лучшей модели;
- соблюдаете ли структуру проекта и поддерживаете ли аккуратность кода;
- какие выводы делаете для бизнеса;
- оставляете ли комментарии к шагам.
Успехов!
Дорогой друг!
Я внимательно наблюдал за твоими действиями на сайте через вебвизор.
Если ты добрался до этой страницы, то скорее всего ты проходишь платное обучение на курсах.
Благодаря моим стараниям, целую главу ты можешь закрыть за сутки, а то и быстрее.
Думаю, что сэкономленное время, ты потратил с пользой, в то время как я сидел и пыхтел над заданиями.
Лучшая благодарность от тебя, это пожертвования на мой IT - проект.
Жертвуй столько, сколько не жалко, но и не скупись, чтобы было не стыдно.
Большое тебе спасибо, за твою благодарность!
Вернуться в раздел: Я.Практикум
Вернуться в оглавление: Я.Практикум