LoginSignup
5
4

More than 1 year has passed since last update.

データサイエンティスト求人の歓迎スキルを調べてみた

Last updated at Posted at 2021-07-25

はじめに

データサイエンスに興味があり、Rを勉強しています。
が、実際のところ、PythonやSQLの求人をよく見るけど、
Rはどのくらい需要があるのだろう?と不安になり(?)

「現場では、データサイエンティストはどのようなスキルを求められているか?」
が気になり、現在の求人を調べてみました。

調査方法

せっかくなので、Rを用いて
求人サイト掲載中のデータサイエンティスト・データアナリスト求人から、
必須スキル・歓迎スキルを、形態素解析することに。

データ対象

  • 転職サイトGreen 76求人(2021年3月2日時点)をお借りしました
  • 応募資格内の、必須スキル・歓迎スキルのテキストを手動抽出
  • 画像解析・システム構築に関する求人は除く

分析データ

length= 1121文字

分析の流れ

  • 形態素解析 RMeCab
  • 名詞の洗い出し
  • ワードクラウド可視化

環境

R version 3.6.1
Windows10
テキストソフト:windowsのメモ帳

出力結果

▼頻度3以上の名詞を可視化

頻度3以上の名詞を可視化

▼頻度3以上の名詞からスキル要素をピックアップ

wordcloud_PROGRAM_Freq3.jpeg

▼スキル要素上位15 (表1)

これは手作成

No Term Freq
1 Python 71
2 SQL 62
3 R 49
4 BI 29
5 Web 22
6 Tableau 19
7 AI 16
8 AWS 15
9 GCP 11
10 Google 10
11 BigQuery 9
11 SPSS 9
12 DB 8
12 Kaggle 8
13 Azure 7
14 Analytics 6
14 Hadoop 6
14 SAS 6
15 Excel 5
15 IT 5
15 TensorFlow 5

コード

library(RMeCab)
library(stringr)
library(dplyr)

#手動抽出したファイルを読み込み、形態素解析
Skill <- RMeCabFreq("skill.txt")


Skill$Term  <-
str_replace_all(Skill$Term, "【.*?】", "")    %>% # 【】で括られた見出しを削除
str_replace_all(., "[.*?]", "") %>% # []で括られた見出しを削除
str_replace_all(., "《.*?》", "") %>% # 《》で括られた見出しを削除
str_replace_all(., "<.*?>", "") %>% # <>で括られた見出しを削除
str_replace_all(., "≪.*?≫", "")%>%  # ≪≫で括られた見出しを削除
str_replace_all(., "[0-9]", "")%>%  #単独の数字
str_replace_all(., "\n", "")%>% #改行
str_replace_all(., "[:punct:]", "") #句読点

write.csv(Skill, "Skill_01.csv")    #念のためreplaceしたテキストを保存

#名詞の洗い出し
Skill_r1 <- filter(Skill,Info1 == "名詞") %>%
  filter(., Info2 == "一般" |  Info2 == "固有名詞") %>%
  select(., -c(Info1, Info2))

================================================
#頻度3以上の名詞を可視化 (図1)

library(ggplot2)
library(wordcloud)

wordcloud(Skill_r1$Term, Skill_r1$Freq, 
scale =c(7, 1),  min.freq = 3, random.order = FALSE,
   random.color = TRUE, colors = brewer.pal(8, "Dark2"))


==================================
#さらにスキル要素の名詞をピックアップする

#書き出した"Skill_01.csv"ファイルを手作業で編集する
#編集したファイル名 「Skill_03.csv」
Skill_r2 <- read.csv("Skill_03.csv",header=T,row.names=1)


#頻度3以上、スキル要素の名詞を可視化(図2)
wordcloud(Skill_r2$Term, Skill_r2$Freq, 
scale =c(7, 1),  min.freq = 3, random.order = FALSE,
   random.color = TRUE, colors = brewer.pal(8, "Dark2"))

補足

「スキル要素」は手作業で、スキルや機能などのワードをピックアップ
(ただちに求人の歓迎スキルと関連のないワードも含んでいます)

おわりに

頻度結果をみると、やはり、
Python
そして
SQL
が上位に。
Rも上位で安心(?)
意外だったのは
Tableau
やはりツールを用いるのかな

改善点

・抽出データ、またスキル関係の名詞は手作業
・ピックアップしたスキル関係の名詞も曖昧
・前処理ももっとかっこよく(?)

改善点をふまえて、また出直します!

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4