數據分析師還是算法工程師|用數據多角度解讀如何選擇


前言

疫情即將散去,又到了求職季。學習Python的各位該如何選擇自己的職業方向,算法工程師還是數據分析師?跟隨本文一起看看吧!

01 數據獲取與處理

本次樣本數據采集於拉勾網,因為本文的重點是招聘數據分析,而在之前的文章中我們講解過很多次如何使用requests爬取網頁數據,這里就不再贅述,來看下爬取網站部分代碼

url_html = 'https://www.lagou.com/jobs/list_' + job_position + '?labelWords=&fromSearch=true&suginput='  
params = {
            'city': job_address,
            'first': 'true' if i == 1 else 'false',
            'pn': i,
            'kd': job_position}
 # 創建一個session對象
s = requests.Session()
# 發送請求,獲得cookies
s.get(url_html, headers=headers, data=params, timeout=4)
cookie = s.cookies
res = s.post(url_request, data=params, headers=headers, cookies=cookie, timeout=4) # 注意分析網頁數據獲取格式
res.encoding = res.apparent_encoding
text = json.loads(res.text)

本文在拉勾網招聘信息中選擇北京、上海、廣州、深圳、杭州這五個城市下分別以數據分析師、算法工程師為篩選條件來采集樣本,采集到的原始數據如下

當然我們在進行數據分析時不需要圖中這么多變量,因此對數據進行清洗后最終樣本數量為1979條,並選擇以下幾個變量進行分析

 

02 薪資水平

我們首先來看下數據分析師與算法工程師的薪資水平密度分布圖,繪制出這兩個崗位的薪資分布密度圖並標記出薪資的均值(圖中虛線)👇

圖中紅色部分為算法工程師的薪資分布密度,藍色部分為數據分析師的薪資分布密度,可以看出不論是數據分析師還是算法工程師,其薪資水平都是比較高的,但是算法工程師的薪資會更高一點,從兩條虛線的位置可以看出算法工程師的平均薪資以29619元超過數據分析師的18841元!值得注意的是這兩個崗位薪資均呈現明顯的多峰形態,說明存在一類薪資相當可觀的精英職位

03 企業所屬行業分析

本節通過制作詞雲圖來對發布招聘企業所屬的領域/行業進行分析

上圖為我們根據發布招聘信息的企業所屬領域/行業的文本信息繪制的詞雲圖,從圖中可以看出數據分析師與算法工程師的行業有較大的交叉,主要都屬於移動互聯網、金融相關企業,但數據分析師的數據服務、電商、消費生活企業更多,而算法工程師的人工智能相關企業占比較高,所以想從事人工智能相關崗位的同學就往算法方向准備吧。

 

04 學歷對的薪資影響

在本節,我們使用箱線圖來分析學歷對薪資的影響

每一個箱子的寬度代表該學歷提供的工作數量,縱軸為薪資高低,從圖中我們可以看出,不論是數據分析師還是算法工程師,大多數崗位面向的對象為本科生。並且可以明顯看出算法工程師對學歷的要求更高,數據分析師有33個崗位要求最低學歷為碩士,而算法工程師要求碩士的崗位有389個,並且值得注意的是:接近1000個數據分析師崗位均無博士學歷要求,而算法工程師要求博士的崗位占比高於大專。所以想要從事算法工程師相關崗位還是先努力提升學歷吧。

 

05 技能需求分析

我們提取數據分析師與算法工程師崗位所要求的技能/語言相關信息(僅為標簽中需求並未提取詳細要求中技能需求),對其進行可視化👇

可以看到對於數據分析師來說,需求最高的是SQL,其次是BI軟件與SPSS以及Hive和Hadoop等大數據相關,雖然也有Java等,但是總體對於編程語言需求不高,值得注意的是只有一家公司需要應聘者會使用python(用女朋友擔保真的只有一家需求中含有Python)。再看右邊的算法工程師,對於NLP的需求最高,其次C/C++、Python、JAVA、GO等各種編程語言都有,值得注意的是有些企業還需要求職者懂一些Linux運維相關的知識。

 

06 回歸建模

上面的分析僅是從一些描述性分析的角度,在本節我們對影響薪資水平的各個因素進行回歸建模來量化分析,由於原始變量太多存在多重共線性,因此我們選擇主成分回歸模型:先利用主成分分析對各個變量提取主成分,然后對變量進行中心化與薪資對數化,接着建立回歸模型,最后將回歸方程中的主成分轉換為原始變量。

數據分析師影響因素的回歸系數

算法工程師影響因素的回歸系數

對比兩個圖可以發現,不論是數據分析師還是算法工程師都對工作經驗有着較高的要求,其中算法工程師要有3-5年的工作經驗才算能對薪資水平有一個“正向”的影響。其次數據分析師對SQL和Hive較高的要求而算法工程師要求的語言則是Python和C/C++,當然這只是個人因素對薪資水平的影響分析,公司層面的因素就留給感興趣的讀者去做。

07 聚類分析

在這一節我們為了更加細致地了解兩個行業內部崗位的分布,我們對數據分析師與算法工程師的影響因子進行了聚類分析,對聚類結果進行總結得出這兩個崗位的三個典型職位

數據分析師的三個典型職位:

  • 精英崗位:需要碩士及以上學歷,工作經驗5年以上,掌握多種編程語言,薪資較高

  • 高級崗位:本科以上學歷,有一定工作經驗,熟練掌握一門編程語言

  • 普通崗位:了解基本分析方法,了解基本軟件

算法工程師的三個典型職位:

  • 精英崗位:需要碩士及以上學歷,工作經驗5年以上,掌握NLP、Python、GO等,薪資較高

  • 高級崗位:碩士以上學歷,5年以上工作經驗,熟練掌握NLP與一門編程語言

  • 普通崗位:本科以上學歷,一年以上工作經驗,薪資較低

 

08 費希爾判別分析

上面做了那么多又是主成分回歸建模又是聚類就是為了本節進行判別分析,我們可以利用費希爾判別法(之前文章有講過哦)根據求職者的條件針對上一節的三個典型職位進行判別,並代入我們的模型就能預估求職者的薪資,例如

某位求職者:

  • 想應聘數據分析師

  • 應屆本科生

  • 會使用SPSS、Mysql並了解一些數據分析的方法

那么使用費希爾判別法就能判定該求職者屬於數據分析師的普通崗位,並可以利用之前建立的模型預測薪資大約為5247元,但如果該求職者能學會Hive與Hadoop那么薪資將漲到7144元。

09 結束語

從結果來看數據分析師與算法工程師都屬於比較高薪的崗位,這也解釋了為什么這兩個崗位火熱的原因,雖然兩個崗位有一定交叉,但還是有一定區別,比如這兩個崗位所需要的編程語言不大一樣。並且算法工程師需要的學歷更高一點,但數據分析師對工作經驗的要求沒有算法工程師的要求高。所以求職者可以根據自身情況去綜合考慮。

作者肝出本文使用了Python(爬蟲(requests)數據清洗(pandas)建模(sklearn))Echarts(繪圖)R(繪圖(ggplot2)密度圖、箱線圖、建模)SPSS(建模:主成分分析),這也是之前文章提到的要學會綜合使用各種編程語言,還不會?關注早起python一起學~

以上就是本文作者對爬取到的招聘數據進行的挖掘與分析,當然由於作者的能力有限,並且在之前的建模中可能忽略了一些關鍵的變量導致得到的模型並不是十分准確,感興趣的讀者可以后台回復招聘獲取本文使用的數據進行更多的分析~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM