Завершающий проект Гарри Лина (LinkedIn) и Кэроланн Деказиано (LinkedIn) для магистра прикладных наук о данных Мичиганского университета.

От Великой отставки до тихого ухода люди берут под свой контроль свою карьеру. Это была тема для обсуждения, и если вы не слушали новости, вы наверняка слышали об этом в TikTok. В феврале этого года, по данным Бюро трудовой статистики США, более 4 млн американцев добровольно уволились с работы, показатель которых мало изменился за последний год, оставаясь на уровне 2,6. Многие компании год назад сказали бы, что массовый исход вызван пандемией, но мы понимаем, что в ближайшее время она не закончится и является частью долгосрочной тенденции.

Представьте себе это…

Вы являетесь директором по персоналу на совещании в масштабе (есть ли в наши дни какие-либо другие?) с руководителями нескольких отделов, и на повестке дня стоит вопрос об убыли сотрудников в этом месяце. Вы объясняете всем, что ставка растет уже несколько месяцев, и многие на собрании делятся своими недовольствами по поводу потери еще одной горстки сотрудников без предварительного уведомления. Другие говорят, что это сокращение влияет на разнообразие их команды. Другой говорит, что они перепробовали все, от дополнительных тренировок до бесплатных закусок, чтобы сохранить свою команду в целости. Затем они спрашивают вас: «Как я узнаю, собирается ли мой сотрудник уйти?»

Как и они, вы не гадалка, но у вас есть данные и специалист по данным. Следовательно, где этот проект входит.

Цель этого проекта — помочь компаниям удержать сотрудников на современном конкурентном рынке труда, предсказав вероятность ухода сотрудника и предоставив понятные объяснения для прогноза. Инструмент прост в использовании и предоставляет ценную информацию руководителям, работающим с клиентами, специалистам по персоналу и руководителям, чтобы они могли принимать обоснованные решения и разрабатывать стратегии для предотвращения потери талантов на современном рабочем месте.

В этой статье мы подведем итоги того, что было сделано, и как мы намерены расширить это, рассмотрим набор данных для нашей фиктивной компании, рассмотрим модель контролируемого обучения, используемую для прогнозирования, и почему мы ее выбрали, а затем объясним прогнозы модели.

Прежде чем углубиться в данные, мы провели обзор литературы. При поиске по термину «прогнозирование увольнения сотрудников» мы наткнулись на множество статей, посвященных различным аспектам. Вот четыре основных эссе, к которым мы хотели бы обратиться.

Сто лет теории и исследований текучести кадров, Peter W. Hom et al.

В этой статье были рассмотрены классические статьи из Журнала прикладной психологии и других публикаций, которые внесли ключевой теоретический и методологический вклад в литературу по текучести кадров. Статья помогает нам понять историю текучести кадров и предыдущие идеи о прогнозировании текучести кадров на основе удовлетворенности работой и других характеристик с помощью обычной регрессии наименьших квадратов (OLSR). Согласно заключению, фокусы исследования оборота расширились с индивидуального на макроуровень, с макроуровня на кросс-уровень и с поперечного на прогностический на панельный дизайн.

Машинное обучение для прогнозирования увольнения сотрудников, Norsuhada Mansor et al.

Эта статья была в основном посвящена сравнительному исследованию модели машинного обучения, чтобы предсказать, покинет ли сотрудник компанию или нет, учитывая набор данных об увольнении сотрудников (тот же набор данных, который мы использовали).

Сравнительное исследование, проведенное на трех классификаторах (классификатор дерева решений (DT), классификатор машин опорных векторов (SVM) и классификатор искусственных нейронных сетей (ANN)) показало, что оптимизированная модель SVM является лучшей моделью, которую можно использовать для прогнозирования. убыль сотрудников с самым высоким процентом точности 88,87% по сравнению с другими моделями классификации, с которыми экспериментировали, за которыми следуют ANN и DT.

Сравнение подходов машинного обучения к прогнозированию увольнения сотрудников,Филиппо Гуэрранти и Джованна Мария Димитри.

Эта статья также была сравнительным исследованием контролируемых методов обучения для прогнозирования отсева с использованием набора данных IBM. Они применили логистическую регрессию, деревья классификации, случайный лес, наивный байесовский подход и простую нейронную сеть. Каждый из них оценивается с помощью AOC-ROC, точности и F-баллов. Авторы рассмотрели как производительность, так и интерпретируемость модели, они также включили использование ансамблевой модели (комбинированные прогнозы от нескольких оценок для улучшения обобщения). Среди методов логистическая регрессия показала лучшие результаты с оценкой точности 88% и AUC-ROC 85%.

Увольнение сотрудников: что заставляет сотрудника увольняться? Alex Frye et al.

Это было еще одно сравнительное исследование методов (случайный лес, K-ближайший сосед, логистическая регрессия), но оно сильно отличалось, поскольку в нем использовались данные о разделении, опубликованные Управлением по управлению персоналом (OPM). Они также обеспечивают углубленное обсуждение этических последствий использования модели для прогнозирования увольнения сотрудников. Они также использовали набор данных IBM, но больше как внешнюю проверку обученной модели OPM, поскольку они признали ограничение набора данных, которое не включало демографические характеристики сотрудников. В нем также не было функций, связанных с удовлетворенностью работой, балансом между работой и личной жизнью или обзорами производительности. Исследование показало, что логистическая регрессия была оптимальным методом и дала самый высокий показатель точности, 74%.

Из обзора литературы мы заметили, что:

  1. В нескольких документах использовался набор данных IBM, который мы планировали использовать, даже тот, в котором использовался другой набор данных (OPM), также использовал набор данных IBM в качестве набора данных для проверки. Это может быть связано с тем, что наборы данных о персонале являются конфиденциальными.
  2. Большинство статей были посвящены сравнению моделей машинного обучения, и в каждой статье была найдена лучшая модель. Среди этих лучших моделей показатели точности были одинаковыми, в диапазоне от 85% до 90%. Мы не можем увидеть большой разницы между результатами.

Чтобы подумать о том, что мы можем сделать иначе, чем в предыдущих исследованиях, мы определили два направления для нашего проекта:

  1. Интерпретируемость результатов: Основываясь на нашем опыте в области управления персоналом, мы считаем, что людей больше интересует интерпретация результата и то, как он связан с ними, а не разница в точности на 3–5%.
  2. Инструмент создания ценности на основе модели. Чтобы сделать модель легко применимой для людей без технического образования, мы должны рассмотреть, как можно реализовать алгоритм и какие ценности он может создать.

Мы использовали набор данных IBM HR Analytics Employee Attrition & Performance, который содержит 35 функций и 1470 строк. Характеристики бывают числовыми и категориальными. Этот набор данных хорошо известен в сфере HR-аналитики и изначально был опубликован IBM. IBM собрала информацию об удовлетворенности сотрудников, доходах, стаже работы и некоторых демографических данных. Хотя сайт IBM был удален, набор данных можно скачать на Kaggle. Вот детали столбцов.

Согласно сводке статистики по каждой функции, мы обнаружили:

  1. Есть несколько неинформативных функций, таких как EmployeeCount, EmployeeNumber и StandardHours, которые необходимо удалить.

2. Функция истощения искажена, что означает, что у нас есть набор данных о дисбалансе истощения. Ниже представлены гистограммы числовых признаков по убыванию.

3. Изучив тепловую карту, мы обнаружили, что некоторые функции сильно коррелированы. Например, MonthlyIncome и JobLevel.

Получив результаты EDA, мы перешли к некоторой предварительной обработке данных и выбору признаков. Это включало удаление упомянутых неинформативных столбцов. На этом этапе мы также взяли категориальные функции и применили кодировку, чтобы их можно было использовать в наших моделях машинного обучения. Действия для каждой функции приведены в приложении.

Нашей первой попыткой выбора признаков было использование метода последовательной прямой оболочки для этой задачи обучения с учителем. В этом методе функции добавляются одна за другой к подмножеству функций, используемых для обучения модели, затем ее производительность оценивается при каждом добавлении. Это оказалось вычислительно затратным с 51 функцией (с кодировками меток), поэтому было бы особенно сложно, если бы компания использовала набор данных с гораздо большим количеством функций. Помимо этих расходов, производительность модели будет зависеть от используемой стратегии обертки. Мы отказались от этого подхода и выбрали удаление функций. Мы использовали удаление коллинеарных признаков, чтобы уменьшить размерность набора данных. Наша методика заключалась в использовании корреляционной матрицы для выявления сильно коррелированных признаков с использованием порога коэффициента корреляции 0,8. Это удалило шесть функций, в результате чего наше пространство функций сократилось до 45. Удаляя коллинеарные функции, мы улучшаем производительность и интерпретируемость модели за счет уменьшения шума и повышения релевантности функций-предикторов.

Наш последний шаг предварительной обработки заключался в устранении утечки данных и дисбаланса нашей целевой функции. Мы использовали метод стратифицированной выборки, чтобы разделить наши данные на обучающую и тестовую выборки. Поскольку мы имеем дело с данными о сотрудниках, это хороший способ убедиться, что пропорции целевой переменной одинаковы в обоих наборах.

Мы рассмотрели три контролируемых метода обучения для этой задачи классификации: классификатор дерева решений, случайный лес и классификатор SVM. В конечном итоге мы остановились на модели случайного леса, основываясь на трех выводах:

  1. Его производительность основана на точности, точности и счете f1.
  2. Его интерпретируемость с использованием значений SHAP
  3. Вычислительные ресурсы для запуска

Дерево решений имело показатель точности 83,67% и давало четко определенное влияние функций в оценках SHAP. Случайный лес также имел четко определенное влияние функций, но превзошел его с показателем точности 86,05%. В вычислительном отношении для обучения и настройки параметров случайного леса требуется меньше ресурсов, и компаниям среднего размера будет проще внедрить его. В отличие от SHAP ядра, используемого для SVM, который требует больше вычислений и может быть очень медленным. Мы также попытались запустить SHAP ядра с образцами базовых данных для повышения эффективности, но значения функций SHAP не были интерпретируемыми по сравнению с ожидаемым базовым значением.

Чтобы повысить производительность нашего классификатора Random Forest, мы провели некоторую настройку гиперпараметров с помощью HalvingRandomSearchCV. Разница между HalvingRandomSearchCV и GridSearchCV заключается в стратегии поиска, используемой для поиска оптимальных параметров. Разделение пополам использует рандомизированную стратегию, при которой параметры случайным образом выбираются из пространства поиска, а затем оцениваются, в то время как сетка проверяет все возможные комбинации, что делает поиск исчерпывающим. Если ресурсы доступны, компания может переключиться на использование GridSearchCV, чтобы гарантировать глобальную оптимизацию, но сокращение вдвое происходит быстрее и эффективнее, если пространство поиска параметров велико.

Test Result:
================================================
Accuracy Score: 86.05%
_______________________________________________
CLASSIFICATION REPORT:
                    0          1  accuracy   macro avg  weighted avg
precision    0.862676   0.800000  0.860544    0.831338      0.852656
recall       0.991903   0.170213  0.860544    0.581058      0.860544
f1-score     0.922787   0.280702  0.860544    0.601744      0.820141
support    247.000000  47.000000  0.860544  294.000000    294.000000
_______________________________________________
Confusion Matrix: 
 [[245   2]
 [ 39   8]]

Нам было недостаточно иметь точную и высокоэффективную модель, нам нужно было обосновать прогноз перед руководителями отделов. Важной частью нашего проекта является упрощение адаптации за счет интерпретируемости результатов. Мы не знали, как это сделать, но с некоторой помощью нашего наставника проекта нам указали на SHAP (объяснения SHapley Additive ExPlanations).

Значения SHAP обеспечивают меру важности вклада каждой функции в прогноз модели. Значения SHAP основаны на теории игр и концепции ценностей Шепли, которые изначально были разработаны для распределения справедливой доли выплат в кооперативных играх между каждым игроком. Значения вычисляются с учетом взаимодействия между функциями и выполняются с использованием различных методов, в том числе на основе ядра и дерева. В нашем случае значения SHAP дают нам объяснение того, почему сотрудник подвержен риску увольнения из-за функции выплаты.

Используя пакет python SHAP, мы смогли визуализировать сводку о среднем влиянии входных функций на выходной прогноз нашего обученного классификатора случайного леса. На сводном графике SHAP отображается среднее значение по всем наблюдениям и их прогнозам. Это говорит нам о том, что наибольшее влияние на прогноз оказывает овертайм.

Этот график дает нам общее представление о том, какие функции влияют на увольнение в полном обучающем наборе данных IBM, но в конечном итоге мы хотим решить проблему, связанную с риском увольнения конкретного сотрудника. К счастью для нас, значения SHAP вычисляются для конкретных экземпляров.

На приведенных выше графиках силы показаны два отдельных наблюдения в нашем тестовом наборе. Первый показывает силы (характеристики), которые способствуют более высокому прогнозу истощения (0,73). Второй показывает силы, которые подталкивают значение к более низкому прогнозу истощения (0,03). В соответствии с тем, что сказал нам сводной график, эти графики силы имеют Overtime очень близко к точке разделения более высоких и более низких значений силы. Это говорит нам о том, что сверхурочная работа может быть рекомендуемым вмешательством для руководителей отделов.

Теперь возвращаясь к нашей встрече в зуме…

Выслушав жалобы, вы говорите присутствующим, что у вас есть все необходимое, чтобы помочь им определить, есть ли у них сотрудник, которому грозит увольнение, и дать им рекомендации по вмешательству. Вы делитесь своим экраном и показываете им свое Веб-приложение для сокращения сотрудников. Вы объясняете, что взяли данные о сотрудниках компании и обучили модель прогнозировать вероятность того, что сотрудник покинет компанию. В партнерстве с отделом кадров они могут предоставить подробную информацию о своем сотруднике, такую ​​как его биографические данные, сведения о занятости и мнения о своей работе и рабочей среде, чтобы получить вероятность их риска увольнения.

Важно отметить, что модель также не является предсказательницей. Он также не может сказать вам, что испытывает сотрудник. Он может только сказать вам, что говорят данные компании. Именно здесь мы сообщаем вам об этических соображениях, касающихся его интерпретируемости и основных проблем, которые могут быть не очевидны в наборе данных. Как упоминалось в статье Фрая и др., мы хотим решить проблему систематического распространения недобросовестных действий на основе тенденций, обнаруженных в модели.

Давайте вернемся на секунду к комментарию одного из руководителей отдела о том, что увольнение вредит разнообразию в их команде. Наша модель и значения SHAP не придавали большого значения признаку пола в нашем наборе данных. Если вы посмотрите список 20 лучших функций, вы не найдете его. Достаточно ли в вашем наборе данных женских/небинарных наблюдений, чтобы приравнять все остальные и сказать, что их пол не повлиял на их риск увольнения? Конечно, наша модель может дать рекомендации по вмешательству, но являются ли они решением основных системных проблем в вашей организации?

Вот подход, который мы рекомендуем использовать с этим инструментом. Начните со слов: «Наша модель говорит, что Сара, в частности Сара, может быть уволена из-за x, y, z. Мы рекомендуем вмешательства a, b, c для Сары». Затем спросите Сару, что они думают о рекомендации, и разработайте вместе с ними план, который будет взаимовыгоден для Сары и команды. Сотрудники хотят иметь больший контроль над тем, как они проводят свое время и чему они намерены посвящать 40 часов в неделю. Большинство хотели бы сбалансировать свои личные отношения и рабочие обязанности. Вот почему их отношения с работодателем, как и любые другие, требуют времени для построения и открытого общения для подпитки.

Спасибо Мишель Леблан за то, что она помогла нам выразить словами то, что мы надеялись решить в нашем проекте.

Техническое задание

И Гарри, и Кэроланн внесли свой вклад в написание этого отчета. Гарри работал над проектом Project Draft, обзором литературы, EDA набора данных IBM и созданием визуальных материалов, афишей и резюме видео. В то время как Кэроланн работала над: предварительной обработкой данных и построением/настройкой моделей, визуализацией и интерпретацией SHAP, а также веб-приложением.

Ссылка

  1. Хом, П.В., Ли, Т.В., Шоу, Дж.Д., и Хаускнехт, Дж.П. (2017). Сто лет теории и исследованиям текучести кадров. Журнал прикладной психологии, 102 (3), 530–545. https://doi.org/10.1037/apl0000103
  2. Мансор, Н., Сани, Н.С., Алифф, М. (2021). Машинное обучение для прогнозирования увольнения сотрудников. Международный журнал передовых компьютерных наук и приложений, 12 (11). https://doi.org/10.14569/ijacsa.2021.0121149
  3. Герранти, Ф., и Дмитрий, Г. М. (2022). Сравнение подходов машинного обучения для прогнозирования увольнения сотрудников. Applied Sciences, 13(1), 267. МДПИ АГ. Получено с http://dx.doi.org/10.3390/app13010267
  4. Фрай, Алекс; Бумхауэр, Кристофер; Смит, Майкл; Витовский, Линдси; и Фабрикант, Стейси (2018 г.) Увольнение сотрудников: что заставляет сотрудника увольняться?, SMU Data Science Review: Vol. 1: №1, статья 9. Режим доступа: https://scholar.smu.edu/datasciencereview/vol1/iss1/9

Приложение

Выбор функций

Ноутбуки

attrition_prediction.ipynb

В этом блокноте Jupyter есть полный набор методов/моделей, которые мы пытались использовать для этой задачи классификации. Он содержит предварительную обработку, разработку функций и построение/настройку моделей всех трех моделей контролируемого обучения.

Tensor-attrition-predicton.ipynb

Этой записной книжки Jupyter нет в нашем окончательном репозитории, но это была неудачная попытка использовать тензорный лес решений для классификации. Мы попытались это сделать в основном из соображений высокой производительности, но столкнулись с несколькими препятствиями при передаче модели TDT через TreeExplainer библиотеки SHAP. Так что, имея не так много времени, чтобы разобраться с конвейером, мы отказались от этой затеи.

Репозиторий Git

Capstone-hr-аналитика

Для получения более подробной информации о нашем сквозном конвейере машинного обучения и использовании нами сервисов Docker и AWS вы можете просмотреть наш репозиторий Git. Также есть инструкции по локальному развертыванию приложения Flask.

Веб-приложение

Веб-приложение для сокращения сотрудников