学習方法

初学者からデータサイエンティストを目指す勉強のロードマップ|3つの目標で確認!

これからデータサイエンティストを目指す初学者の方の中には

  • これからどんな勉強をしていったらいいかわからない
  • まずは独学で進めたいけど、ちゃんと理解できてるかわからない

という思いをお持ちの方も多いでしょう。今回は3つの目標を定め、順にクリアできるように勉強を進めるロードマップを解説していきます。

この記事でわかること
  • データサイエンティストへのロードマップがわかります
  • 3つのスキル習得のためのマイルストーンがわかります
  • 3つの目標を達成するためのスキルのつけ方がわかります

データサイエンティストへのロードマップ

データサイエンティストになるために、以下の3つの目標をマイルストーンとして学習を進めていきましょう。それぞれの実力に到達できるようになるために何をすればよいかも合わせて確認していきます。

    • 目標1:データの読み込みと見える化をしよう
    • 目標2:決定木解析を実装してみよう
    • 目標3:データサイエンスコンペのお題を解いてみよう

    目標1:データの読み込みと見える化をしよう

    この章のゴール
    • Pythonの環境設定ができる
    • Pythonの基礎がわかる
    • csvファイルの読み書きができる
    • 読み込んだデータをグラフ表示できる

    最初の目標は、データサイエンスの基本であるデータの見える化です。その前に、まずPythonが使用できる環境の構築や、Pythonの基本動作ができるようになる必要があります。

    Step1:Pythonの環境設定ができる

    今回の解説はPythonを使用して話を進めます。比較的理解しやすく、データサイエンスで使用されるライブラリなどが多いこと、そしてデータサイエンスをしている方が多く使用しているため、情報が多いことなどが理由です。

    まずはPythonを使用できるようにする必要がありますが、環境の設定に関しては以下の記事に詳しくその内容が記載されていますので、手順に従って環境構築をお願いします。

    迷わない!Pythonの環境構築と操作方法を簡単解説 前のページ|次のページ 2章では、AnacondaとJupyter Notebookを利用して、Pythonを学習する環境を構築し...

    Step2:Pythonの基礎がわかる

    インストールがわかったら次はPythonに関して基本的なことを学びます。データサイエンスに関するプログラムを書くにしても、まずはPythonの基礎知識が最低限理解できていないと、いきなりデータサイエンスで使うコードを書くのは難しいでしょう。

    Pythonの基礎学習に関して以下の記事がにおいて、まずはStep1を一通り実施してください。もちろん、それ以外の部分も合わせて実施してから次のステップに進むほうが次のステップの理解も早いでしょう。

    【初学者必見】おすすめ教材あり!Python独学の最適ロードマップ!Pythonを独学で習得するためのロードマップをまとめました。全4ステップ内でおすすめの無料学習サイトと使うべき3つの本を知ることができます。なるべくお金をかけずにPythonを学びたい方は必見です。...

    Step3:csvファイルの読み書きができる

    Pythonの基礎が理解できたら、データサイエンスで非常によく使用するライブラリ「Pandas」の学習に入ります。

    PandasはPythonでデータ分析を行うためのライブラリで、表形式の「データフレーム」という機能があることが特徴的で、表形式のデータを扱う、初心者でも扱いやすいツールになっています。まずはこのPandasを利用してcsvファイルを取り込んだり保存したりできるようになります。

    csv形式のファイルは実際のデータサイエンスの現場では非常によく用いられます。様々なシステムからcsvに変換したり、機械設備もcsv形式でデータを取っているものもあります。

    また、共通形式のため様々なデータからcsv形式に変換することができるようになっています。ちなみに、目標3のデータサイエンスコンペでもcsv形式でデータを与えられることが多くあります。

    Pandasで最低限覚えておきたいことは以下の記事の項目3:Pandasでまとまっています。まずは以下の記事内容に従ってPandasでファイルの読み書きができるようになりましょう。

    【初心者必見】Pythonデータ分析で覚えておきたいライブラリ3選本記事では一通りPythonの基礎を学習し終え、データ分析を行いたい初心者向けに、よく使うライブラリを「まずはこの3つを覚えておきたい!」という視点で紹介しています。具体的なコード示しながら使用方法示しています。...

    Step4:読み込んだデータをグラフ表示できる

    データが読み込めたら、次にデータをグラフで表示してみてわかるようにします。グラフにしてデータを見てわかるようにすることはデータサイエンスの基本です。

    データの組成を見て異常値がないか確認したり、データの傾向を見て分析の方向性を検討したりします。具体的には目標2で実施します。

    ここで覚えていただきたい内容は、先ほどと同じ記事で項目4:Matplotlibでまとまっていますので、このページの内容に従って一通りグラフをかけるようにしましょう。

    【初心者必見】Pythonデータ分析で覚えておきたいライブラリ3選本記事では一通りPythonの基礎を学習し終え、データ分析を行いたい初心者向けに、よく使うライブラリを「まずはこの3つを覚えておきたい!」という視点で紹介しています。具体的なコード示しながら使用方法示しています。...

    今回ここでは取り扱っていませんが、数値計算に特化した「numpy」もよく使用されるので、上記ページの内容を合わせて学習しておくとよいでしょう。

    目標2:決定木解析を実装してみよう

    この章のゴール
    • 分析するデータの準備ができる
    • 決定木で分析ができる
    • 決定木の解析結果を理解できる

    2番目の目標は決定木を実装していきましょう。目標1でデータが取り込めて、データの大まかな様子を確認できましたので、データを解析していきます。

    今回は決定木を採用しましたが、この流れを理解すればほかの解析手法でも流れは同じです。したがって、まずは決定木での解析の流れを習得しましょう。

    Step1:分析するデータの準備ができる

    まずは決定木のような分析手法を使用するにあたり、データが分析に適しているかを検証する必要があります。「解析手法はとりあえずデータを入れれば勝手に分析してくれるでしょ?」というイメージをお持ちの方もいるかもしれませんが、それは誤った認識です。悪い一例を示すと、

    状態 問題となる内容
    データに欠損がある 分析手法によっては空欄があると分析自体ができない場合があります。そのため、欠損データを何かの数値で埋めますが、状況に応じて正しく埋めないと正しい結果が出ない場合があります。
    データに異常値がある その値がデータ平均から大きく外れている場合、その数値に結果が寄ってしまう場合があります。場合によっては正しい値であっても学習時にはデータに入れないほうがよい場合もあります。
    意味のないデータが混ざっている 全く関係のないデータが混ざっていると、正しい結果が出ません。
    説明変数に相関が高すぎるデータが混ざっている 一つのデータを相関が高すぎる二つ以上の変数で説明すると、結果が不安定になり安定した結果が出ない場合があるため、一つの変数にまとめたりします。

    このようなことを避けるため、データを解析する前にデータの準備をします。具体的な方法は以下の記事に書いてあるので、この内容は覚えておきましょう

    【1分でわかる】特徴量エンジニアリングの進め方機械学習でモデル精度を上げようとすると突き当たる特徴量エンジニアリング。重要であることは理解できるけどなんで?またどうしたらいいの?という疑問に答えていきたいと思います。...

    Step2:決定木で分析ができる

    では次に決定木の実装に移りましょう。決定木の実装自体はやり方が決まっているので、以下の記事から実装の仕方を学んでください。

    なお、以下の記事で扱っているデータは前処理をしなくても結果は出るようになっており、今回の解析では前処理をしていません。この記事の内容に従って決定木を実装し、前処理を実施したのちに再度解析してみると前処理の効果がわかりますので、ぜひ挑戦してみてください。

    【1分でわかる】初心者でも簡単にPythonで決定木の実装ができるやり方を学ぶ!機械学習の基礎である決定木を、概要の解説からPythonで初心者でも簡単に実装する方法、結果の表示のやり方までわかりやすく解説していきます。また、graphvizで表示する方法まで合わせて解説しています。本記事により適切に決定木を用いてデータの分析に役立てていただければと思います。...

    なお、冒頭でそのほかの解析方法に関しても同じような方法で実装できると書きましたが、決定木のようによく使用される手法と、その用途をまとめたものを以下の記事で解説していますので合わせて確認しておきましょう。

    統計や機械学習でよく使うデータ分析手法5選【初心者必見】本記事ではデータ分析初心者の方に向けて、まずは押さえておきたいデータ分析手法5選とその内容を解説しています。グラフを使用したイメージで簡単に理解をすることができます。...

    Step3:決定木の解析結果を理解できる

    決定木の特徴の一つに結果の説明性の良さがあります。先ほどの記事の後半に、解析結果の見方を載せていますので確認してください。

    【1分でわかる】初心者でも簡単にPythonで決定木の実装ができるやり方を学ぶ!機械学習の基礎である決定木を、概要の解説からPythonで初心者でも簡単に実装する方法、結果の表示のやり方までわかりやすく解説していきます。また、graphvizで表示する方法まで合わせて解説しています。本記事により適切に決定木を用いてデータの分析に役立てていただければと思います。...

    目標3:データサイエンスコンペのお題を解いてみよう

     

    この章のゴール
    • データサイエンスコンペに解析結果を投稿できる
    • 投稿結果のスコア向上を検討できる

    目標3では、ここまで学習してきた内容をもとにデータサイエンスコンペのお題を解いてみましょう

    データサイエンスコンペは世界的に有名なKaggleや、日本語で挑戦できるSIGNATEなどがありますが、今回はサインインしなくてもコンペの内容までは確認ができるNishikaのコンペをのぞいてみましょう。

    Step1:データサイエンスコンペに解析結果を投稿できる

    Nishikaのページから「Competitions」のページに進んでください。実際にコンペに投稿するためには登録が必要ですが、開催中のコンペを確認するだけなら登録なしでも確認ができます。

    データサイエンスコンペは「商品や賞金が出る開催中のもの」「すでに締め切りが終わっている過去のもの」「トレーニング用に用意されたもの」の3種類があります。

    参加したいコンペを選んで「コンペに参加」を選択して登録しましょう。

    参加するコンペですが、今回は学習目的なので「トレーニングコンペ」を選択するのもよいのですが、「過去のコンペ」の「トピック」内に「チュートリアル」があるものを選択するとよいでしょう

    これは、最初に行うべきことや解析方法を公式が解析してくれているので、最初はこれにしたがって解析を進めていくことが非常に勉強になります。まずはこれまでの項目で学習してきた方法に従って解析を行い、解説にあるやり方と比較をするとよいでしょう。

    特に「中古マンションの価格」に関しては、季節ごとに内容を少し変えてコンペを実施しているので、過去コンペで練習をして、新たに開催されるコンペで学習の成果を確認するものよいでしょう。

    Step2:投稿結果のスコア向上を検討できる

    実際に投稿したデータのスコアアップを図ることがコンペの最終目的です。これは答えのあるコンペの時だけの目標ではなく、実務でデータサイエンスをする際にもコンペと同じようにデータを理解し、データを解析することにより、より正しい解析結果が導き出せることになります。

    このように、解析精度を上げるにはデータ理解やデータの前処理の工夫、解析方法を様々試してみることが必要です

    データの前処理に関することは以下の記事で取り扱っていますので、参考にしてください。

    【1分でわかる】特徴量エンジニアリングの進め方機械学習でモデル精度を上げようとすると突き当たる特徴量エンジニアリング。重要であることは理解できるけどなんで?またどうしたらいいの?という疑問に答えていきたいと思います。...

    また、様々な手法を試す方法として「pycaret」などのAutoMLがあります。AutoMLについては以下の記事に述べられていますので、こちらも参考にしてください。

    機械学習を自動化する方法は?基礎を学びツールを使うと導入できる機械学習を自社に導入する場合、その作業を自動化できれば業務の効率化は進みます。 しかし、そもそも機械学習の自動化がどのようなもので...

    まとめ

    今回は「データの見える化」「決定木実装」「データサイエンスコンペ」を通して出たサイエンティストへのロードマップを見てきました。いろいろなデータを解析するのがデータサイエンス力をアップさせる一番の近道なので、コンペに参加できるところまでこのロードマップに従い、実力をつけていただければと思います。