В этой статье мы рассмотрим вакансии, связанные с наукой о данных и машинным обучением в Соединенных Штатах Америки.

Введение:

Для тех, кто активно ищет работу в США, эта статья станет хорошим обзором. К сожалению, данные, представленные в этой статье, относятся к августу 2018 года. Но я думаю, что компании, которые нанимают людей на определенные должности, со временем существенно не меняются. Чтобы помочь соискателям работы, я решил провести исследовательский анализ данных для этого набора данных. Набор данных можно получить из здесь.

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

1-Импорт соответствующих библиотек:

2-Очистка данных и манипулирование:

Сначала мы прочитаем набор данных и посмотрим, как он выглядит. После внимательного изучения набора данных в нем очень мало значений Nan для столбцов «позиция, компания, описание» - всего 11, поэтому эти строки можно просто удалить. Что касается столбца обзоров, в нем очень много пропущенных обзоров, которые в основном предназначены для начинающих компаний. Это означает, что эти компании только что были созданы, поэтому эти недостающие значения разумно заменить на 0.

df=pd.read_csv("alldata.csv")
df.head()

df[df["reviews"].isnull()].head()

print(df.company.isnull().value_counts())
print(df.reviews.isnull().value_counts())
print(df.location.isnull().value_counts())
print(df.reviews.isnull().value_counts())

Также для столбца местоположения я извлек новый столбец, представляющий штаты США. После очистки набора данных и выполнения шагов, приведенных ниже, мы приходим к этим данным.

Визуализация двух данных:

Компании с наибольшим количеством вакансий:

В этом разделе я отфильтровал компании, имеющие максимальное количество вакансий по данным на август 2018 года по каждому штату США.

Мы видим, что в Вашингтоне больше всего вакансий, предлагаемых такими компаниями, как Amazon и Microsoft. В то время как для Google наибольшее количество вакансий находится в Маунтин-Вью. У Google также есть вакансии в других штатах, но на этом графике я показал данные с максимальным количеством вакансий для конкретной компании.

Профессия с максимальным количеством вакансий:

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

Кроме того, если мы разделим эти вакансии на эти должности по отношению к разным штатам США, мы увидим, что в Нью-Йорке больше всего вакансий для специалистов по данным и аналитиков. Примечание: здесь я показал только вакансии с максимальным количеством вакансий (топ-20)

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

Специалист по данным:

В этом разделе мы сначала отфильтруем все вакансии, связанные с аналитиками данных, следующим образом:

Data_scientists=df[(df["position"]=='Data Scientist')|(df["position"]=='Senior Data Scientist')|(df["position"]=='Lead Data Scientist')|(df["position"]=='Sr. Data Scientist')]
Data_scientists.head()

df5=Data_scientists.groupby(by="city").size().reset_index(name="count").sort_values(by="count",ascending=False)
df5.head(10)
plt.figure(figsize=(10,7))
plt.yticks(size=20)
sb.barplot(y="city",x="count",data=df5.head(20))
plt.title("Data Scientist Jobs",size=20)
plt.xticks(size=15)

Мы можем сделать вывод, что в Нью-Йорке и Сан-Франциско больше всего вакансий для специалистов по данным. Затем мы построим облако слов для описания вакансий, опубликованных для специалистов по данным, и далее оценим навыки, необходимые для этих должностей, в основном требуемые языки программирования.

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

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

Мы видим, что почти в 90% вакансий в качестве наиболее распространенных навыков указаны python и ML, за ними следует SQL, который присутствует в 70% объявлений о вакансиях.

Инженер по машинному обучению:

В этом разделе мы сначала отфильтруем все вакансии, связанные с инженерами машинного обучения, следующим образом:

ML_engineer=df[(df["position"]=='Machine Learning Engineer')]ML_engineer.head()

Мы видим, что большинство рабочих мест инженеров машинного обучения находится в Сан-Франциско и Бостоне, за которыми следуют Нью-Йорк и Сиэтл, в отличие от рабочих мест в области науки о данных, которые в основном выполнялись в Нью-Йорке.

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

С точки зрения требуемых навыков ML и python являются наиболее преобладающими навыками. Нам не нужен SQL для должностей инженера машинного обучения, но требуется более глубокое знание машинного обучения, поскольку оно присутствует во всех объявлениях о вакансиях.

Инженер по данным:

В этом разделе мы сначала отфильтруем все вакансии, связанные с должностями инженера данных, следующим образом:

Data_engineer=df[(df["position"]=='Data Engineer')]Data_engineer.head()

Мы видим, что большая часть рабочих мест по инженерии данных находится как в Нью-Йорке, так и в Сан-Франциско, за которыми следуют немногие в Бостоне.

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

Для работы в области инженерии данных мы можем сделать вывод, что Python, SQL и Java являются наиболее востребованными языками программирования. Для этой работы достаточно небольшого знания ML.

Аналитик данных:

В этом разделе мы отфильтруем объявления о вакансиях, связанных с должностями аналитика данных, следующим образом:

data_analyst=df[(df["position"]=='Data Analyst')]
data_analyst.head()

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

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

Таким образом, для позиции аналитика данных мы можем сделать вывод, что наиболее распространенным требуемым языком является SQL, за которым следует python. Знание ML не является основным требованием.

Вывод:

Мы можем сделать вывод, что большинство вакансий в США предназначены для специалистов по обработке данных, и в основном они находятся в Нью-Йорке и Сан-Франциско. Среди высших навыков знания Python и машинного обучения являются наиболее важными требованиями для специалистов по обработке данных и инженеров по машинному обучению. С другой стороны, SQL является наиболее востребованным языком программирования для должностей инженера и аналитика данных.

Полный код доступен здесь.

Использованная литература:

Https://www.kaggle.com/sl6149/data-scientist-job-market-in-the-us

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

Если вам нравится моя работа и вы хотите меня поддержать:

1. САМЫЙ ЛУЧШИЙ способ поддержать меня - подписаться на меня в Medium.

2-Следуйте за мной в LinkedIn.