前回のブログからかなり時間が経過してしまってしました。
2020年はもう少し更新頻度を上げていきたいと年始に誓うのですが、どれだけ続くのか?年始に気合を込めた目標は大体長続きしないものですよね。
年始一発目のブログですが、ここ数年Web界隈では急に聞くようになった言葉に「データサイエンティスト」や「Python」などです。
特にPythonに関しては2019年夏くらいから小さい本屋に行ってプログラミングのコーナーに行くと、PHPよりも本の数が増えていてかなり一般的な言語として認識が進んでいるのではないでしょうか。
Pythonが本屋でたくさん並ぶようになった理由の中で一番大きい原因はやはり「機械学習」や「AI」ではないでしょうか?
機械学習やAI、人工知能などは生活の中にも影響を与えるものとなってきました。
思い返せば、2000年前後のインターネットの世界では人口無能なるBOTを使ったチャットを作ったのを覚えています。
あの頃はテキストファイルに質問になるキーワードに答えになるワードを準備しておいてそれに合わせて返答を返すといった簡単なものでしたが、当時はわくわくしながら作っていたものです。
Pythonは人工知能や機械学習、スクレイピングなど昨今のデータ分析に活用できる技術に適したプログラミング言語ということもあり流行りだしたのもうなづけます。
今回はそんなPythonなどを使ってデータ分析をするデータサイエンティストについて少しお話をしようと思います。
データサイエンティストとは
まずみなさんはデータサイエンスという言葉はご存知ですか?少しだけ簡単にデータサイエンスについてお話しをさせていただきます。
データサイエンスを簡単に説明すると、統計学や数学などを使ってビッグデータを分析することでその結果から何かしらの予測をすることです。
情報社会になっていき、Webマーケティングが必須になっている昨今において過去のデータから未来を予測することにより情報がより大きな武器になってくる今の時代だからこそ生まれた分野になります。
データサイエンティストとは、そのデータサイエンスを専門に扱う研究者ということです。つまり企業においてはデータ分析のスペシャリストということになります。
ここまで聞いてもカッコいいし、これから職業だなって思う人も多いかと思います。
データサイエンティストの将来性とは
そんな最近の職業ともいえるデータサイエンティストですが、実は日本ではデータサイエンティストに関する人材は非常に不足しています。
しかもそれは今後も足りないという統計結果が経済産業省から2016年に発表されています。
引用元:経済産業省 IT人材の最新動向と将来推計に関する調査報告書
驚くべき数字ですね
2020年には約4.8万人ものIT人材が足りなくなります。
このIT人材というのが肝なんですが、ここでいうIT人材をWebデザイナーやWebコーダーということではないんです。
むしろこういうWebデザイナーなどは飽和状態になっていてこれから始めようと思ってもかなり難しい時代になっています。
Webデザイナーの求人は実務経験を積まないと入社できない場合も増えています。実務経験を積むために実務経験が必要という謎ループですね。
欲しいのはエンジニアを始めるIT人材です。
ここがミスマッチが起きているので専門学校や独学で勉強した人がなかなか就職が難しいのだと思います。
データサイエンティストはIT人材として括りに入ります。また今後人工知能などAIがどんどん人間が行っていた仕事を少しずつ取って代わっていくことが予想されますが、データサイエンティストという職業はそれらを活用して未来を予測している職業ですので、とても将来性のある職業だと考えられます。
データサイエンティストの仕事の内容ってどんなの?
そんな将来性の高いデータサイエンティストですが、そもそもどんな仕事なのでしょうか?人気職なので興味がある人も多いかと思いますが実はすごく事務な職業でもあります。
データサイエンティストの仕事の大きい部分は当然集めたビッグデータを分析して、予測を立てて提案をすることにありますがそのデータを分析するまでの事前準備の部分がとても大変でなおかつ膨大な時間がかかります。
どんなものを分析をするにしてもまずはそのデータを収集してくることから始まります。
データを収集する方法として大きく分けると下記の3つがあります。
- オープンデータの統計データを利用する
- 社内DBのデータから抽出する
- WebスクレイピングやWebAPIを活用してインターネットからデータを抽出する
これらの方法の中で一番簡単な方法は公的統計などを利用して分析します。政府関連など公的機関などが二次分析のために公開しているデータセットを利用することとおなります。
上記のサイトは特に扱いやすいデータをオープンデータとして配布しているサイトです。
まずはこのあたりのデータから分析の練習をしてみるのがいいかなと思います。
社内DBのデータから抽出する方法というのは、MySQLなどSQLコマンドで直接アクセスして分析する方法もありますが、Pythonにはオープンデータを読み込む時に扱いやすいようにCSVなどテキストデータを使って分析することもできます。
Excelに似た感じはしますが、Excelではなかなか扱いにくい1万行くらいのCSVなども結構軽く扱えるのがメリットになります。
データ分析という目線で考えるとPythonではなく、Excelだけで簡単なものであれば完結させることができます。
Excelであれば、扱える人が多いため小さい会社の場合は特にExcelで分析をしている会社もあるかと思いますが、それもデータ量が小さい時には有効ですが、レコード数が1万以上にもなってくる巨大なデータになるとなかなか処理の時間がかかってしまいしんどくなってきます。
Excelでこれらけのデータ量になってくるとVBAなどを使って処理をさせたりもしますが、それでもかなり処理が重くなると思います。
また分析前の前処置までExcelだけで完結しようとすると関数を複数仕様するため1つの処理を追加するたびにどんどん重くなっていきます。データ分析にデータ量に合わせてExcelからPythonに発展していくものだと考えてもらえればいいかと思います。
ただExcelと違いGUIでマウスを使って処理することよりもCUIでスクリプトやプログラムを使って処理をするわけですからPythonという言語自体の学習コストがかかります。
このPythonの学習コストはPHPやJAVAなど人気プログラミング言語に比べるととっつきやすいものなので、ある程度のスキルを身に着けるまでにはそれほど時間はかからないと思います。