作者:Sujan ShirolR、oberto Iriondo
机器之心编译
编辑:蛋酱、杜伟
分析了 3000 多个数据科学相关的岗位招聘内容,他们总结出了十点重要规律。
在就业市场上,数据科学和机器学习的机会每年都在增加。如果你是数据科学相关岗位的求职者之一,那么未来十年将是一个明朗的时代,企业需求预计将大幅度增长。
近日,Towards AI 分析了多个在线职业门户网站上 3000 多个数据科学职位的发布情况,以此进行了招聘趋势层面的总结。这次分析的主要目的是帮助求职者更好地了解数据科学和机器学习当前的市场需求。
Selenium 是抓网页信息最快、最可靠、性价比最高的工具之一。该项目使用 Selenium 抓取了多个求职门户网站,导入必需的程序包并设置 chrome 驱动程序路径,都是非常简单的。循环点击 50 页,每页包括大概 20 个职位的简短发布信息,最终抓取了 3000 多个数据科学相关的岗位招聘内容。
提取出来的每个职位的 URL 可进入相应职位发布的详细页面,页面中包含了推理所需的所有详细信息。
import pandas as pd
import numpy as np
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
chromepath = r'D:\Drivers\Chrome Driver\chromedriver.exe'
url_list = []
for i in range(1, 50):
print('Opening Search Pages ' + str(i))
page_url = 'https://jobportalexample.com/data-scientist-jobs-'+str(i)
driver = webdriver.Chrome(chromepath)
driver.get(page_url)
print('Accessing Webpage OK \n')
url_elt = driver.find_elements_by_class_name("fw500")
print('Success')
for j in url_elt:
url = j.get_attribute("href")
url_list.append(url)
driver.close()
为了简化此过程,URL 被保存为 pandas DataFrame。
url_list_copy_cleaned = [i for i in url_list]
out_company_df = pd.DataFrame(url_list_copy_cleaned, columns=['Website'])
out_company_df.head()
现在,变量 `url_list_copy_cleaned` 有超过 3000 个岗位 list 的 URL,下一步是点击所有 1000 页,提取详细信息。被抓取的信息包括企业、位置、经验、角色、技能。
jobs={'roles':[],
'companies':[],
'locations':[],
'experience':[],
'skills':[]}
driver = webdriver.Chrome(chromepath)for url in out_company_df['Website']:
driver.get(url)
try:
name_anchor = driver.find_element_by_class_name('pad-rt-8')
name = name_anchor.text
jobs['companies'].append(name)
except NoSuchElementException:
jobs['companies'].append(np.nan)
try:
role_anchor = driver.find_element_by_class_name('jd-header-title')
role_name = role_anchor.text
jobs['roles'].append(role_name)
except NoSuchElementException:
jobs['roles'].append(np.nan)
try:
location_anchor = driver.find_element_by_class_name('location')
location_name = location_anchor.text
jobs['locations'].append(location_name)
except NoSuchElementException:
jobs['locations'].append(np.nan)
try:
experience_anchor = driver.find_element_by_class_name('exp')
experience = experience_anchor.text
jobs['experience'].append(experience)
except NoSuchElementException:
jobs['experience'].append(np.nan)
try:
skills_anchor = driver.find_elements_by_class_name("chip")
each_skill = []
for skills in skills_anchor:
each_skill.append(skills.text)
jobs['skills'].append(each_skill)
except NoSuchElementException:
jobs['skills'].append(np.nan)driver.close()
需要注意 NoSuchElementException 错误。因为一些 URL 会直接跳到企业主页,而不是同一工作门户网站的另一个详细信息页面。在这种情况下,要寻找的 HTML 元素可能不存在,将引发错误。
为了更好地进行数据处理和预处理,最好将数据固化为 Pandas DataFrame。在完成所有预处理步骤之后,将清洗后的数据集带入 Tableau 以实现最佳可视化效果。(Tableau 是专注于商业智能的交互式数据可视化软件)
接下来我们看主要分析结论,值得注意的是,这些数据和结论主要代表美国的就业市场情况。
在数据科学家职位空缺方面,埃森哲在美国排名第一,其次是亚马逊、苹果和 Facebook。埃森哲是提供咨询和处理服务的爱尔兰跨国企业,其应用程序服务、数据和分析、技术创新、商业智能、自动化等业务都需要大量熟练的数据科学家和工程师。
此外,有很多社交媒体企业、电子商务企业,或 PayPal 和 Google Pay 之类的支付处理平台也在积极招聘,这些企业每天都有很高的用户使用量,数据流可能达到数千 PB。
旧金山占据招聘 list 的 15%,原因不言而喻——硅谷。紧随其后的是西雅图、圣何塞、奥斯汀、波士顿、纽约、圣地亚哥、丹佛、达拉斯、匹兹堡等,其中有些意外的是工业城市匹兹堡,占据钢铁工业城市数据科学家职位 list 的 2.55%。
从上图的统计数据中可以明显看出,企业在 5-10 年的经验范围内寻找经验丰富的数据科学家,这占数据科学家总需求的 17%,而 3-8 年经验的占据 13%。但入门级数据工作的范围很小,而对于新手来说几乎没有什么空间,使得求职充满了挑战。
大量职位空缺面向的是 5 至 10 年的经验丰富的专业人员,高级数据科学家职位占总需求的 22%。不过,助理数据科学家职位也处于前五名。与往常一样,答案就在于数据本身。
5-10 年组,数据科学家和高级数据科学家的机会是均等的;2-7 年组,高级数据科学家有 2.16%的空缺,Lead 数据科学家则有 0.36%;对助理数据科学家的要求基本在 3-5 年的经验水平范围内。
对于世界上大多数工作而言,技能至关重要,拥有正确的技能会为任何求职者带来更多的机会。如上图所示,Python 编程、分析和机器学习是最需要的三大技能。
大多数人有一个错误的观念,认为 SQL 对于数据科学家是最不需要的,但它也在前五项技能之列。
在 Python、R、Julia 和 Scala 之间选择正确的编程语言。根据分析,Python 满足了这些职位的总需求的近 50%,SQL 再次位居第二。
因此,拥有 Python 和 SQL 技能至关重要。C++ 也属于前五种编程语言要求之一,占总数的 3.8%。MATLAB 占总需求的 3.3%,它是一个数百万工程师和科学家用来分析数据、开发算法和创建模型的编程和数值计算平台。
Tensorflow、Keras 和 PyTorch 是最受欢迎的框架。它们提供了一整套与深度学习技术配合使用的库,并有效地利用了 GPU 硬件的功能。谷歌的 TensorFlow 占总需求的 43%,基本是市场上需求最多的深度学习框架,其次是 Keras 和 PyTorch。
Apache Spark、Hadoop、Hive 和 Kafka 都是当前企业使用的流行技术,目前看起来,Apache Spark 和 Hadoop 拥有超越其他大数据技术的绝对优势。
方案部署通常以 Web 应用程序的形式进行,企业希望数据科学家具备 Web 框架的技能和知识,以部署任何机器学习模型。MongoDB、Django、JavaScript 和 HTML 是当前市场上流行的 Web 技能。
最后,在学习上述技能之前,请先具备统计学和线性代数的基础知识。最重要的是,要以项目、黑客马拉松、GitHub 资料等形式获得实践知识。此外,拥有自己的博客或个人频道也是绝佳的渠道。
当然,不必等到掌握所有技能后再申请职位。在寻找工作或工作期间继续学习是可以的,选择一个、两个技能点,然后进入深入研究。
原文链接:https://pub.towardsai.net/current-data-science-job-market-trend-analysis-future-4184f03a04ca
CVPR 2021 线下论文分享会
6月12日,北京望京凯悦酒店。
CVPR 2021 线下论文分享会将设置
Keynote
、
论文分享
和
Poster
环节。
4个Keynote、12篇论文分享日程已确认,欢迎大家报名学习。
作为一场开放的学术交流活动,我们也欢迎 CVPR 2021 的论文作者们作为嘉宾参与(现只剩Poster席位),请在报名页面提交演讲主题、论文介绍等信息,我们将与你联系沟通相关事宜。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com