【このページは現在作成中です】
第4回:探索的データ分析,教師なし学習†
4.1 探索的データ分析†
探索的データ分析 (Exploratory Data Analysis)†
EDAって何?†
- 与えられたデータ・データセットを,様々な角度から分析・調査して,そのデータの性質を理解すること
- 統計では比較的新しい分野 [Tukey-1977]
- 古典的統計学は,少数の標本から大量データについての結論を引き出す推定に焦点を絞っていた
- ジョン・テューキー「統計的推定は,EDAの一構成要素に過ぎない」
- 機械学習に限らず,あらゆるデータサイエンスのプロジェクトで最初に行われるべき作業
データとお友達になる†
- RQとデータが与えられた時,いきなり機械学習にかけても上手くいかない場合が多い
- データがダメ → 機械学習もダメ → 何が悪いのかわからない
- まずはデータを眺めて,そのデータを理解することが大事
- データはどれぐらいのサイズをしている?
- 各変数の分布はどんな形をしている?
- 変数間の関係はどうなっている?
- データに周期性やパターンは見られる?
- データの品質は大丈夫?
EDAでやるべきこと†
- データの確認と整形
- データを眺める
- データの要約や可視化を通して,データの性質を理解する
- データを修正する【前処理】
- データの異常(欠損,外れ値,重複)に対して,対策を行う
- データを変換する【前処理】
例題:シェアサイクルの需要予測問題†
- RQ: シェアサイクルの日々の貸出履歴から,将来の利用者数を予測できるか?
- Google Colabを開き,新規ノートブックを作成
- ノートブックの名前 Untitled.ipynb を bike-eda.ipynb に変更する
#準備(すべてに共通)
# PandasとNumpyをインポート
import pandas as pd
import numpy as np
# 日本語化Matplotlibもインポート
import matplotlib.pyplot as plt
!pip install japanize-matplotlib
import japanize_matplotlib
# Seabornもインポート
import seaborn as sns
# pickleをインポート(モデルの保存用)
import pickle
# データの取得
data = pd.read_csv("https://www2.cmds.kobe-u.ac.jp/~masa-n/dshandson/bike-sharing-day.csv")
data
[添付]
データの確認と整形†
4.2 教師なし学習:クラスタリング†
教師なし学習†
クラスタリング†
階層的クラスタリング†
非階層的クラスタリング†
4.3 教師なし学習:次元削減†
次元の呪い†
次元削減†
主成分分析†