Исследовательский анализ данных с помощью pandas, seaborn и sklearn

Какие IDE самые популярные? На какие аспекты обращают внимание разработчики программного обеспечения при приеме на новую работу? Что определяет удовлетворенность людей работой? Чтобы ответить на эти вопросы, я углубился в опрос Stack Overflow 2017 и обнаружил некоторые интересные результаты.

Я выбрал опрос 2017 года вместо последнего, потому что он содержит более релевантную числовую информацию. Опрос был разослан более чем 60 тысячам разработчиков по всему миру через сайты, связанные с Stack Overflow, и процент откликов составил около 57%. Помня о различных предубеждениях при выборе, я сначала выполнил несколько визуализаций данных, чтобы получить некоторую информацию.

Визуализация результатов опроса

  1. Откуда большинство пользователей Stack Overflow?

Как мы и ожидали, большинство (ответивших) разработчиков из США, за которыми следуют Индия и Великобритания. Если бы Китай был включен в основу выборки, я ожидаю, что он окажется второй или третьей страной с наибольшим количеством пользователей.

2. Сколько лет люди занимаются кодированием как работа?

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

3. Какие языки программирования хотят использовать люди?

Неудивительно, что люди предпочитают JavaScript, SQL и Java, но я удивлен, что C # вошел в четверку лучших в 2017 году, даже опередив Python.

Как разработчики оценивают новую работу?

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

В опросе есть вопрос об оценке людьми новой работы, и предлагается несколько показателей оценки. Для каждого показателя люди могут выбрать один из 5 вариантов: от «Совсем не важно» до «Очень важно». Я разделил людей на разные образовательные группы и группы по опыту работы, чтобы проверить, отличаются ли их ответы.

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

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

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

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

Что влияет на удовлетворенность работой?

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

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

  1. Отбросьте строки с отсутствующими оценками удовлетворенности работой.
  2. Удалите столбцы, в которых отсутствует более 90% значений.
  3. Заполните числовые столбцы средним значением столбца.
  4. Для каждой категориальной переменной: A) найти все уникальные ответы, B) создать новые столбцы для каждого ответа, C) создать новый столбец, указывающий, есть ли в исходном столбце отсутствующие значения, и D) удалить исходный столбец.

После предварительной обработки мы разбиваем наши данные на обучающие (80%) и проверочные (20%) наборы, стандартизируем столбцы и выполняем логистическую регрессию с помощью sklearn. Мы достигли 74% точности обучения и 70% точности проверки.

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

Гистограмма выше показывает ведущие факторы, которые способствуют положительному удовлетворению работой. Например, такие факторы, как отсутствие интереса к новым возможностям трудоустройства, работа фрилансером / самозанятыми и работа без недоплаты или переплаты, являются основными положительными индикаторами удовлетворенности работой.

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

Мы также можем визуализировать, какие особенности больше всего способствуют неудовлетворенности работой.

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

Резюме

Мы изучили результаты опроса Stack Overflow за 2017 год и обнаружили некоторые интересные факты, касающиеся демографии респондентов, показателей оценки людьми новой работы и основных факторов, влияющих на удовлетворенность или неудовлетворенность работой.

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