最近「データサイエンティスト」とか「機械学習」とか「ディープラーニング」というワードをよく耳にすると思います。
しかし、たくさんありすぎてよくわからない。具体的にどんな違いがあるのかわからないという人がほとんどなのではないでしょうか。
これらは全てデータを分析してなにかしらの答えを導いたり最適解をだしたりする手法やそれをやる人のことを指します。
その中でもよく間違いやすく、違いがわかりにくいものとして代表的なのが「機械学習エンジニア」「データサイエンティスト」「データアナリスト」だと思っています。これらはある意味同じ仕事であり、ある意味違う仕事です。
今回はこの3つの違いについてまとめて見ました。
Contents
機械学習エンジニアとは
AIを作る人=機械学習エンジニア?
もっともよく耳にするのがこの機械学習エンジニアなのではないでしょうか。とりあえずAIなんでしょ?AIを作る人=機械学習エンジニア?と思ってる人が多いのではないでしょうか。結論からいうとこれは間違いではありません。しかしAIという用語はとても意味する範囲が広く、AIを作る過程で色々な役割の人が関わってきます。その一つが機械学習エンジニアです。
機械学習エンジニアとは、複雑なアルゴリズムを駆使して新しいAIの元となるシステムを構築する仕事です。確率や統計などの数学的な専門性を必要とする他、アルゴリズム、システム設計などが必要になってきます。
機械学習エンジニアに必要なスキル
Team AIがまとめた機械学習エンジニアに必要な5つのスキルがとても参考になりました。
- コンピュータサイエンスの基礎とプログラミング
- 確率と統計
- データモデリングと評価
- 機械学習アルゴリズムとライブラリの応用
- ソフトウェア工学とシステム設計
の5つが挙げられています。
もっと簡単にまとめると
- プログラミング力(主にPython)
- 数学力(統計、線形代数、微積など)
- 設計力
が重要になってきます。
特に多くの人が軽視しがちなのが「設計力」だと思っています。もちろん、プログラミング力と数学力があってこその設計力なのですが、これらとはまた違った能力が必要になってきます。
また設計力というスキルは自学するだけでなく実際に実務として働いて見なければわからないものもあります。
データサイエンティストとは
データサイエンティストの仕事内容
データサイエンティストとはデータを分析し、実務の場で分析結果から導かれた手法を活用することで企業に貢献する職業です。 時には利益を飛躍的に成長させることもあります。 企業にとってデータサイエンティストは重要な存在であり、その価値は計り知れません。
参考:データサイエンティストとは?資格(プログラミング等のスキル)・年収・将来性を解説! | TECH::NOTE|テックノート|テクノロジー学習やエンジニア転職に役立つ情報を発信しています
機械学習エンジニアと同じく、
- プログラミング力(主にPython)
- 数学力(統計、線形代数、微積など)
などが必要になってきます。
機械学習エンジニアとの違いは、データサイエンティストの方がより分析に重きを置いているところです。
データの収集やデータセットの前処理、データの分析、予測モデルの構築などを行います。
データサイエンティストの世界競技
データサイエンティストの世界競技、オリンピック的な位置付けてあるのがkaggleです。Kaggle公式サイト→Kaggle: Your Home for Data Science
企業が公開しているデータセットを使ってデータを分析し、kaggleが用意しているテストデータにテストをかけると自動的にスコアが算出されます。
日本人kagglerとして有名なTakami Satoさんがslackで日本人用のkaggleコミュニティを作ってくれています。
初心者専用チャンネルもあり、質問をするとすぐにkaggler達が答えてくれるためかなりいいコミュニティです。もちろん無料です。
@smlyさん @threecourseさんに
日本Kagglerのslackオープンしてもらいました!
誰でもウェルカムです!ただ互助会なので業者や勧誘は蹴飛ばします!
皆でKaggleやりませうhttps://t.co/PUuyCJFk8F— Takami Sato (@tkm2261) August 22, 2017
今世紀もっともセクシーな職業
データサイエンティストは今世紀もっともセクシーな職業と言われており、世界でも注目が集まっています。
>>5分でわかる!今世紀最もセクシーな職業「データサイエンティスト」とは
データアナリストとは
データアナリストとは、簡単に言えばデータを分析することを専門に行っている人のことです。 集まってくる大量のビッグデータを分析し、その中から消費者の行動や規則性、将来的なニーズなどを見出し、仮説を立てて問題解決の手段を提案したり、提供しているサービスの改善などに役立てるというのがデータアナリストの主な仕事です。
もっとも聞きなれないのがこのデータアナリストでしょうか。
データアナリストは現場の近くで課題設定や具体的な施策を示すコンサル型、データ分析の結果を基にしてサービスの品質向上を目指すエンジニア型の2つに分けられます。
コンサル型、エンジニア型に求められるスキルは以下になります。
- コンサル型
分析力、論理的思考力、仮説力、統計に関する知識、マーケティング知識、SQL、R等
- エンジニア型
Hadoop、MapReduce、Mahout、Java、R、統計解析、時系列解析、データマイニング、機械学習、自然言語処理等
参考:データアナリストになる方法~コンサル型かエンジニア型か?ビッグデータ時代に市場価値を上げる2つの道 – エンジニアtype | 転職@type
どちらかというとデータサイエンティストと近いです。
データサイエンティストとの違いは、業務フローの中におけるフェーズの違いです。
データアナリストの場合はよりデータの処理や現状分析などのフェーズに重きを置いています。データの分析から課題解決のアウトプットを作成し、サービスの改善に貢献します。
結論:データサイエンティストとデータアナリストと機械学習エンジニアは若干違う
行う業務の過程で呼び方が異なっている
結局「機械学習エンジニア」「データサイエンティスト」「データアナリスト」と似たような仕事に聞こえますが別物だということがわかったと思います。
データ分析をして、それをさらにビジネスに適応させていく過程でいくつもに業務が分割されておりそれぞれのフェーズによって名前が異なっています。
明確な区別はなさそう
違いを説明してきましたがこれらに明確な区別はありません。またデータの収集から行う企業もあれば分析から始まる企業もあります。
データアナリスト業務だけしかできない人もいれば、機械学習エンジニア業務もデータアナリスト業もできるデータサイエンティストもいます。
データベースとクラウドの知識は必要
基本的なプログラミング能力や統計の知識などは全てに共通して必要なスキルなので、とにかくがむしゃらに勉強してみるのも手かもしれません。
それに加え(プログラミング能力に含まれているのかもしれないが)データベースとクラウドの知識は必ず必要になってきます。
データベースはデータを扱っていく上で欠かせないスキルです。当たり前のように使っていきます。
クラウドは大規模なデータ分析になってくると必要になってきます。クラウドの強いマシンパワーを借りることで短い時間で高性能な分析を行うことができます。
それぞれの職種で必要なスキルをもっと詳しく知りたい場合は下記を参考にしてみてください。
>>データサイエンティストもしくは機械学習エンジニアになるためのスキル要件とは(2017年夏版)
データ分析スキルを簡単に最速で極めるには?
機械学習エンジニアとデータサイエンティストとデータアナリストと全て紹介しました。どんなスキルが必要か、ここに書いてあるだけではわからないこともたくさんあると思います。
正直個人的な感想としては実際に手を動かしてみるのがもっとも近道だと思います。かといっていきなりPythonのコードを書いたり、数学を理解したりするのは難しいですよね。そういった方はプログラミングスクールにいってみることをオススメします。
おすすめのスクールは、【2019年完全保存版】データサイエンティストにおすすめのプログラミングスクール10選!AI・機械学習が学べる!を参考にしてみてください。