首頁 > 軟體

2021資料科學就業市場分析Python技能最重要,5到10年經驗最吃香

2021-05-28 18:00:09

選自TowardsAI

作者: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:DriversChrome Driverchromedriver.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 是專注於商業智慧的互動式資料視覺化軟體)

CSV 表格。

接下來我們看主要分析結論,值得注意的是,這些資料和結論主要代表美國的就業市場情況。

有資料科學家招聘需求的企業

積極招聘資料科學家的頂尖企業。

在資料科學家職位空缺方面,埃森哲在美國排名第一,其次是亞馬遜、蘋果和 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 年的經驗水平範圍內。

資料科學家最需要的 15 種技能

資料科學家最需要的 15 種技能。

對於世界上大多數工作而言,技能至關重要,擁有正確的技能會為任何求職者帶來更多的機會。如上圖所示,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 應用程式的形式進行,企業希望資料科學傢俱備 Web 框架的技能和知識,以部署任何機器學習模型。MongoDB、Django、JavaScript 和 HTML 是當前市場上流行的 Web 技能。

最後,在學習上述技能之前,請先具備統計學和線性代數的基礎知識。最重要的是,要以項目、黑客馬拉松、GitHub 資料等形式獲得實踐知識。此外,擁有自己的部落格或個人頻道也是絕佳的渠道。

當然,不必等到掌握所有技能後再申請職位。在尋找工作或工作期間繼續學習是可以的,選擇一個、兩個技能點,然後進入深入研究。


IT145.com E-mail:sddin#qq.com