Вступление

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

Стоимость увольнения сотрудников

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

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

Итак, давайте раскроем факторы, которые приводят к выбытию сотрудников, с помощью IBM HR Analytics Employee Attrition & Performance Dataset. Это вымышленный набор данных, созданный специалистами по данным IBM.

Набор данных IBM HR Analytics

Набор данных об убытке и эффективности сотрудников IBM HR Analytics доступен на Kaggle. Набор данных содержит 1470 записей (строк) и 35 функций (столбцов), включая образование, возраст, удовлетворенность работой, рейтинг производительности, WorkLifeBalance и т. Д.

Давайте начнем изучать наши данные и применим некоторые модели машинного обучения для прогнозирования убытков сотрудников.

Исследовательский анализ данных (EDA)

Давайте сначала посмотрим на данные

Итак, из приведенного выше изображения мы видим, что в наборе данных нет пропущенных значений.

Из данных целевого столбца мы видим, что набор данных несбалансирован: 84% сотрудников не уволились из организации, а 16% уволились.

Теперь давайте разделим наш набор данных на числовые и категориальные характеристики.

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

Давайте теперь исследуем категориальные особенности

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

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

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

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

Приступим к созданию моделей машинного обучения

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

Классификатор случайного леса

Случайный лес - это алгоритм обучения с учителем, который используется как для классификации, так и для регрессии. Это метод ансамблевого обучения, который создает деревья решений на основе выборок данных, затем получает прогноз от каждой из них и, наконец, выбирает лучшее решение путем голосования (режим вывода классов отдельными деревьями). Основной принцип заключается в том, что группа «слабых учеников» может объединиться, чтобы сформировать «сильных учеников».

Теперь посмотрим на код.

Мы видим, что наша модель дает оценку точности 85%, что не так уж и плохо. Мы также можем выполнить настройку гиперпараметров, чтобы получить оптимальный набор гиперпараметров, чтобы получить лучшие результаты на наших тестовых данных (данных, которые наша модель не видела раньше). Как мы знаем, случайный лес - это метод ансамбля, который лучше, чем одиночное дерево решений, потому что он уменьшает чрезмерную подгонку за счет усреднения результата.

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

Поскольку мы знаем, что наши данные несбалансированы, мы можем использовать некоторые методы r выборки, такие как недостаточная выборка, передискретизация или Передискретизация синтетического меньшинства для уравновешивания.

Заключение

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

Набор данных доступен на Kaggle здесь.

Изучите этот репозиторий GitHub, чтобы найти коды Python здесь.

Спасибо за чтение!