ここでは分析を始めるために必要な
- 学習/評価データのダウンロード
- 分析環境準備
について説明します。
学習/評価データのダウンロード
「Data」のページに行くと
- データ定義と説明
- 学習/評価データと予測結果のサンプル
が提供されています。特にデータの内容で不明点があれば必ずここのデータ定義に立ち返って確認するようにしましょう。自分でデータを確認しながらデータ定義とその内容についてまとめておくのもオススメです。
さて、コンペで使う以下の3つのデータをダウンロードします。
- train.csv: 学習用データ
- test.csv: 評価用データ
- gender_submission.csv: 提出ファイルのサンプル
早速、分析をしたくなりますが分析を始める前にまず学習/評価用データを読取専用にしましょう。
これらのデータはすべての分析の起点になります。Excelなどで開いた際に小数や日付の形式が自動で変わりそれを無意識に保存してしまうと他の人と作業分担や結果共有した時に思わぬ不整合の原因になることがあります。繰り返しになりますが、分析前に学習/評価用データを変更できないようにしておきましょう。
分析環境準備
分析を行う環境として
- エディタ(メモ帳、Jupyter notebook, VisualStudio Codeなど)
- データ可視化(Excel, Tableau, Pythonでmatplotlibを利用など)
- データ分析(Python, Rなど)
のどれを使うかは人それぞれ好みがありますが自分が使いやすいものか、これから始めるのであれば利用者が多く情報が豊富なPythonがオススメです。特に「Anaconda」という分析者向けのPythonディストリビューションを使うとエディタ、可視化、分析機能がまとめて使えるようになるので便利です。
また、色々と試行錯誤すると自分でもどのコードが最新なのか分からなくなってくるのでGithubなどを使ってソースコード管理するのも良いでしょう。
ここでは
- エディタ: Jupyter notebook
- データ可視化: Pythonのmatplotlib
- データ分析: Python(pandas, scikit-learn)
- ソースコード管理: Github
としています。ここで紹介したコードを動かすには最低限Anacondaをインストール[1]インストール方法はこちらの記事の「Anacondaのインストール」を参照ください。してJupyter notebookで実行すれば動くと思います。
ただ、今後もPythonで色々と分析をしたい方は少し手間でもPython仮想環境を作ってチュートリアル分析用に環境を切り分けておいた方が良いです。他の分析でパッケージ等をいじった際に今回のコードが動かなくなったり、結果が再現できなくなることを避けることができます。Python仮想環境の構築やJupyter notebookからの利用方法それぞれ別記事にしているので参考にしてください。
環境構築例
今回、Titanicチュートリアルを分析するにあたっては
- Mac: MacBook Air 2013 Mid
- Anaconda 5.0.1
の環境で
$ conda create -n titanic python=3.7 pip $ source activate titanic
としてPython仮想環境「titanic」を作っています。Jupyter notebookからこの環境を使えるようにするために
(titanic) $ conda install notebook ipykernel (titanic) $ ipython kernel install --user --name titanic
とします。
つぎに分析用パッケージとしてpandas, scikit-learn, matplotlib, seabornをインストールします。
(titanic) $ conda install pandas scikit-learn (titanic) $ pip install matplotlib seaborn
インストールが終わったらjupyter notebookを立ち上げ
(titanic) $ jupyter notebook
New > titanicを選んでnotebookを作成し
import pandas as pd from sklearn.linear_model import LinearRegression %matplotlib inline import matplotlib.pyplot as plt
を実行して特にエラーが出なければ環境構築は完了です。
準備が長くなりましたが次からはデータの中身を見ていきましょう。