これからデータサイエンティストを目指す初学者の方の中には
- これからどんな勉強をしていったらいいかわからない
- まずは独学で進めたいけど、ちゃんと理解できてるかわからない
という思いをお持ちの方も多いでしょう。今回は3つの目標を定め、順にクリアできるように勉強を進めるロードマップを解説していきます。
- データサイエンティストへのロードマップがわかります
- 3つのスキル習得のためのマイルストーンがわかります
- 3つの目標を達成するためのスキルのつけ方がわかります
データサイエンティストへのロードマップ
データサイエンティストになるために、以下の3つの目標をマイルストーンとして学習を進めていきましょう。それぞれの実力に到達できるようになるために何をすればよいかも合わせて確認していきます。
- 目標1:データの読み込みと見える化をしよう
- 目標2:決定木解析を実装してみよう
- 目標3:データサイエンスコンペのお題を解いてみよう
目標1:データの読み込みと見える化をしよう
- Pythonの環境設定ができる
- Pythonの基礎がわかる
- csvファイルの読み書きができる
- 読み込んだデータをグラフ表示できる
最初の目標は、データサイエンスの基本であるデータの見える化です。その前に、まずPythonが使用できる環境の構築や、Pythonの基本動作ができるようになる必要があります。
Step1:Pythonの環境設定ができる
今回の解説はPythonを使用して話を進めます。比較的理解しやすく、データサイエンスで使用されるライブラリなどが多いこと、そしてデータサイエンスをしている方が多く使用しているため、情報が多いことなどが理由です。
まずはPythonを使用できるようにする必要がありますが、環境の設定に関しては以下の記事に詳しくその内容が記載されていますので、手順に従って環境構築をお願いします。
Step2:Pythonの基礎がわかる
インストールがわかったら次はPythonに関して基本的なことを学びます。データサイエンスに関するプログラムを書くにしても、まずはPythonの基礎知識が最低限理解できていないと、いきなりデータサイエンスで使うコードを書くのは難しいでしょう。
Pythonの基礎学習に関して以下の記事がにおいて、まずはStep1を一通り実施してください。もちろん、それ以外の部分も合わせて実施してから次のステップに進むほうが次のステップの理解も早いでしょう。
Step3:csvファイルの読み書きができる
Pythonの基礎が理解できたら、データサイエンスで非常によく使用するライブラリ「Pandas」の学習に入ります。
PandasはPythonでデータ分析を行うためのライブラリで、表形式の「データフレーム」という機能があることが特徴的で、表形式のデータを扱う、初心者でも扱いやすいツールになっています。まずはこのPandasを利用してcsvファイルを取り込んだり保存したりできるようになります。
csv形式のファイルは実際のデータサイエンスの現場では非常によく用いられます。様々なシステムからcsvに変換したり、機械設備もcsv形式でデータを取っているものもあります。
また、共通形式のため様々なデータからcsv形式に変換することができるようになっています。ちなみに、目標3のデータサイエンスコンペでもcsv形式でデータを与えられることが多くあります。
Pandasで最低限覚えておきたいことは以下の記事の項目3:Pandasでまとまっています。まずは以下の記事内容に従ってPandasでファイルの読み書きができるようになりましょう。
Step4:読み込んだデータをグラフ表示できる
データが読み込めたら、次にデータをグラフで表示してみてわかるようにします。グラフにしてデータを見てわかるようにすることはデータサイエンスの基本です。
データの組成を見て異常値がないか確認したり、データの傾向を見て分析の方向性を検討したりします。具体的には目標2で実施します。
ここで覚えていただきたい内容は、先ほどと同じ記事で項目4:Matplotlibでまとまっていますので、このページの内容に従って一通りグラフをかけるようにしましょう。
今回ここでは取り扱っていませんが、数値計算に特化した「numpy」もよく使用されるので、上記ページの内容を合わせて学習しておくとよいでしょう。
目標2:決定木解析を実装してみよう
- 分析するデータの準備ができる
- 決定木で分析ができる
- 決定木の解析結果を理解できる
2番目の目標は決定木を実装していきましょう。目標1でデータが取り込めて、データの大まかな様子を確認できましたので、データを解析していきます。
今回は決定木を採用しましたが、この流れを理解すればほかの解析手法でも流れは同じです。したがって、まずは決定木での解析の流れを習得しましょう。
Step1:分析するデータの準備ができる
まずは決定木のような分析手法を使用するにあたり、データが分析に適しているかを検証する必要があります。「解析手法はとりあえずデータを入れれば勝手に分析してくれるでしょ?」というイメージをお持ちの方もいるかもしれませんが、それは誤った認識です。悪い一例を示すと、
状態 | 問題となる内容 |
データに欠損がある | 分析手法によっては空欄があると分析自体ができない場合があります。そのため、欠損データを何かの数値で埋めますが、状況に応じて正しく埋めないと正しい結果が出ない場合があります。 |
データに異常値がある | その値がデータ平均から大きく外れている場合、その数値に結果が寄ってしまう場合があります。場合によっては正しい値であっても学習時にはデータに入れないほうがよい場合もあります。 |
意味のないデータが混ざっている | 全く関係のないデータが混ざっていると、正しい結果が出ません。 |
説明変数に相関が高すぎるデータが混ざっている | 一つのデータを相関が高すぎる二つ以上の変数で説明すると、結果が不安定になり安定した結果が出ない場合があるため、一つの変数にまとめたりします。 |
このようなことを避けるため、データを解析する前にデータの準備をします。具体的な方法は以下の記事に書いてあるので、この内容は覚えておきましょう。
Step2:決定木で分析ができる
では次に決定木の実装に移りましょう。決定木の実装自体はやり方が決まっているので、以下の記事から実装の仕方を学んでください。
なお、以下の記事で扱っているデータは前処理をしなくても結果は出るようになっており、今回の解析では前処理をしていません。この記事の内容に従って決定木を実装し、前処理を実施したのちに再度解析してみると前処理の効果がわかりますので、ぜひ挑戦してみてください。
なお、冒頭でそのほかの解析方法に関しても同じような方法で実装できると書きましたが、決定木のようによく使用される手法と、その用途をまとめたものを以下の記事で解説していますので合わせて確認しておきましょう。
Step3:決定木の解析結果を理解できる
決定木の特徴の一つに結果の説明性の良さがあります。先ほどの記事の後半に、解析結果の見方を載せていますので確認してください。
目標3:データサイエンスコンペのお題を解いてみよう
- データサイエンスコンペに解析結果を投稿できる
- 投稿結果のスコア向上を検討できる
目標3では、ここまで学習してきた内容をもとにデータサイエンスコンペのお題を解いてみましょう。
データサイエンスコンペは世界的に有名なKaggleや、日本語で挑戦できるSIGNATEなどがありますが、今回はサインインしなくてもコンペの内容までは確認ができるNishikaのコンペをのぞいてみましょう。
Step1:データサイエンスコンペに解析結果を投稿できる
Nishikaのページから「Competitions」のページに進んでください。実際にコンペに投稿するためには登録が必要ですが、開催中のコンペを確認するだけなら登録なしでも確認ができます。
データサイエンスコンペは「商品や賞金が出る開催中のもの」「すでに締め切りが終わっている過去のもの」「トレーニング用に用意されたもの」の3種類があります。
参加したいコンペを選んで「コンペに参加」を選択して登録しましょう。
参加するコンペですが、今回は学習目的なので「トレーニングコンペ」を選択するのもよいのですが、「過去のコンペ」の「トピック」内に「チュートリアル」があるものを選択するとよいでしょう。
これは、最初に行うべきことや解析方法を公式が解析してくれているので、最初はこれにしたがって解析を進めていくことが非常に勉強になります。まずはこれまでの項目で学習してきた方法に従って解析を行い、解説にあるやり方と比較をするとよいでしょう。
特に「中古マンションの価格」に関しては、季節ごとに内容を少し変えてコンペを実施しているので、過去コンペで練習をして、新たに開催されるコンペで学習の成果を確認するものよいでしょう。
Step2:投稿結果のスコア向上を検討できる
実際に投稿したデータのスコアアップを図ることがコンペの最終目的です。これは答えのあるコンペの時だけの目標ではなく、実務でデータサイエンスをする際にもコンペと同じようにデータを理解し、データを解析することにより、より正しい解析結果が導き出せることになります。
このように、解析精度を上げるにはデータ理解やデータの前処理の工夫、解析方法を様々試してみることが必要です。
データの前処理に関することは以下の記事で取り扱っていますので、参考にしてください。
また、様々な手法を試す方法として「pycaret」などのAutoMLがあります。AutoMLについては以下の記事に述べられていますので、こちらも参考にしてください。
『Tech Teacher』3つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
今回は「データの見える化」「決定木実装」「データサイエンスコンペ」を通して出たサイエンティストへのロードマップを見てきました。いろいろなデータを解析するのがデータサイエンス力をアップさせる一番の近道なので、コンペに参加できるところまでこのロードマップに従い、実力をつけていただければと思います。