1. 程式人生 > 其它 >使用 R 語言從拉勾網看資料探勘崗位現狀

使用 R 語言從拉勾網看資料探勘崗位現狀

因為畢業後想從事資料探勘相關的職業,但對該行業的需求不太瞭解,網上資料太多檢視花時間且抓不住重點,所以爬取了拉勾網上 900 多條相關的崗位共計 30 萬字的職位描述的資料進行了相關的分析。分析結果主要想回答下面兩個問題:

1、目前資料探勘崗位的現狀 ? 2、如果要從事資料探勘行業,需要具備哪些技能 ?

分析時間:2017 年 2 月 工具:RStudio, Number, R (爬取和分析使用的都是 R )

資料探勘崗位現狀

分兩塊描述,第一塊是基本的統計資料,包括資料探勘在那個城市需求最旺盛,對應聘人員的學歷要求,行業的分佈和公司的財務狀況。第二塊圍繞著薪酬做相關性的分析,主要是工作資歷與薪酬之間的關係,以及行業與薪酬之間的關係。

首先可以看到大部分資料探勘崗位都分佈在北京,上海,深圳和杭州,北京該崗位需求相當旺盛,差不多佔據了一半的職位數量。從左邊的餅圖可以看出,大部分資料探勘崗位對應聘者的學歷要求為至少是本科以上。

左邊的條形圖顯示大部分的資料探勘崗位都分佈在移動網際網路領域,另外,右邊的餅圖可以看出,上市公司和成長型 B 輪及 D 輪以上的公司對資料探勘崗位的需求最大。

從左邊這張圖可以看出,對於有 1-3 年經驗的應聘者,企業的普遍工資在 16-20 K 左右的水平,而對於 3-5 年工作經驗的應聘者,則普遍的工資在 21-25 K,另外有意思的是,許多職位對工作經驗沒有要求,但是也願意給出不錯的薪酬。從右邊的圖可以看出,移動網際網路領域職位數量多且工資相對較高,若想找份高薪的工作,在移動網際網路行業做資料探勘是個不錯的選擇。

從事資料探勘行業,需要具備哪些技能組合

將爬取到的全部職位描述彙總在一起後,總共有差不多 30 萬字的職位描述。這裡首先使用 jiebaR 中文分詞庫對文字進行分析和挖掘。在挖掘之前,首先需要簡歷自己的詞料庫,我使用的詞料庫是從網上搜查得到,感興趣可點選此處查詢。

https://github.com/edvardHua/JobRequirementAnalysis/blob/master/corpus/collected.dict.utf8

首先使用 jiebaR 庫對 30 萬字的職業描述進行關鍵字(TF_IDF 演算法)提取,結果如下:

"資料探勘" "演算法" "資料" "經驗" "熟悉" "機器學習" "優先"

關鍵字高度概括了企業對應聘者的需求,拿這些詞造句的話,應該可以理解為:

「我們需要找一位熟悉資料結構和機器挖掘演算法的人。另外,具備經驗者優先。」

隨後,再根據自己收集的語料庫進行詞頻統計,做成雲圖,結果如下:

從詞雲和術語出現次數可以看出,想要從事資料探勘,除了要熟悉基本的程式語言和框架外( Python,Hadoop,Java,Spark,R ),統計學也被很多企業所提及。

專案結構

使用到的 R 包:ggplot2, jiebaR, wordcloud2 專案結構:

  ├── data
  │ ├── position- 1:63 拉勾網的原始資料,為 json 格式
  ├── cache
  │ ├── position_after_cleaning.csv 預處理後的資料,直接讀取既可使用
  │ ├── ...
  ├── corpus
  │ ├── collected.dict.utf8  資料探勘領域相關的語料庫
  │ ├── ...
  ├── graphs
  │ ├── ...
  ├── src
  │ ├── curl.R 爬蟲
  │ ├── clean.R 資料清洗
  │ ├── func.R 公共函式
  │ └── statistics.R 統計結果視覺化
  │ ├── mining.R 關鍵字提取和詞頻統計
  └── tests
      └── test.R

via http://www.jianshu.com/p/750c9b0996c