機械学習モデルの精度は「データの質」で決まります。どれだけ高性能なアルゴリズムを使っても、欠損値だらけのデータや外れ値の多いデータでは良い結果は得られません。探索的データ分析(Exploratory Data Analysis、EDA)は、モデル学習の前段階でデータの特徴・品質・構造を多角的に把握するプロセスです。Qast では CSV をアップロードするだけで、16 種類の EDA を自動実行し、レポートとして提示します。
EDA とは何か — なぜモデル学習の前に必要なのか
EDA は、1977年に統計学者のジョン・テューキーが提唱した概念です。データを可視化・要約し、仮説を立てたり、予想外のパターンを発見したりするプロセスを指します。現代の機械学習では、EDA を通じて「データの品質問題」「特徴量間の関係」「ターゲット変数の分布」を把握し、適切な前処理やアルゴリズム選択に繋げます。
EDA を省略してモデル学習に進むと、ターゲットリーケージ(学習データに予測結果のヒントが含まれる問題)や、多重共線性(特徴量同士が強く相関している問題)を見落とし、本番環境で精度が出ないモデルを作ってしまうリスクがあります。
1. データ監査 — データの全体像を一目で把握
EDA の出発点は、データの全体像を把握することです。Qast のデータ監査では、行数・カラム数・データ型の内訳・欠損セル数・重複行数・メモリ使用量を一覧で表示します。「100カラム中 30カラムに欠損あり」「重複行が 5% 存在」といった情報が即座に分かるため、データの健全性をすぐに判断できます。
2. 欠損値分析 — 欠損のパターンを可視化
欠損値は単に「穴がある」だけでなく、パターンがあることがあります。例えば「カラムAが欠損しているとき、カラムBも欠損している」という共起パターンがあれば、データ収集プロセスに問題がある可能性があります。Qast は欠損パターンのヒートマップと共起マトリクスを自動生成し、欠損の構造を可視化します。
3. データ品質チェック — 学習の障害を自動検出
データ品質チェックは、モデル学習を妨げる可能性のある問題を網羅的にスキャンする機能です。以下のような問題を自動検出します。
- 1
ターゲットリーケージ
予測対象の情報が特徴量に漏れ込んでいないかをチェックします。リーケージがあるとテスト精度は高くても本番で使えません。
- 2
欠損率の高いカラム
欠損率が閾値を超えるカラムを警告します。欠損率が高すぎるカラムは学習に悪影響を与える可能性があります。
- 3
単一値カラム
すべての行が同じ値のカラムを検出します。情報量がゼロのため、特徴量として無意味です。
- 4
ID列の混入
連番やユニークIDが特徴量に含まれていないかを検出します。ID列で学習するとモデルが過学習します。
4. 単変量分析 — 各カラムの統計量を把握
各カラムの基本統計量(平均値・中央値・標準偏差・最小値・最大値・四分位数)を一覧で表示します。数値カラムにはヒストグラムが、カテゴリカラムには値の出現頻度のバーチャートが自動生成されます。テキストカラムの場合は、文字列長の分布も確認できます。
5. 分布分析 — 正規性の検定とフィッティング
各数値カラムのデータ分布をより詳細に分析します。ヒストグラムに KDE(カーネル密度推定)を重ね合わせた分布プロット、Q-Q プロット、そして複数の正規性検定(Shapiro-Wilk、Anderson-Darling、Kolmogorov-Smirnov、D'Agostino-Pearson)を自動実行します。さらに、正規分布・対数正規分布・指数分布など複数の理論分布をフィッティングし、どの分布に最も近いかを AIC/BIC で比較します。
正規性の検定結果は、後続のモデル選択や前処理の判断に直結します。例えば、ターゲット変数が強い右裾を持つ場合は、対数変換を適用することで予測精度が向上するケースがあります。
6. 相関分析 — 特徴量間の関係を数値化
Pearson 相関、Spearman 順位相関、相互情報量、Cramér's V の 4 つの手法で特徴量間の関係を計測し、相関マトリクスとして可視化します。さらに、VIF(分散拡大要因)を計算して多重共線性の検出も行います。VIF が 10 を超えるカラムは多重共線性の疑いがあり、モデルの安定性に影響する可能性があります。
7. 二変量分析 — 2 つの変数の関係を深掘り
任意の 2 変数の組み合わせについて、変数の型に応じた最適な可視化と統計検定を自動で実行します。数値×数値なら散布図と相関検定、数値×カテゴリなら箱ひげ図と t 検定/ANOVA、カテゴリ×カテゴリならクロス集計表とカイ二乗検定が表示されます。
8. 特徴量関連性 — 重要な特徴量をスクリーニング
特徴量関連性分析は、すべての特徴量ペア間の関連度をマトリクスで可視化し、類似した特徴量をクラスタリングする機能です。冗長な特徴量グループを発見し、特徴量選択の判断材料を提供します。
9. 多変量分析 — 高次元データを 2D に圧縮
PCA(主成分分析)と t-SNE を使い、多数の特徴量を 2 次元に圧縮して可視化します。PCA ではローディングプロット(各特徴量の寄与方向)も表示されるため、「第 1 主成分は何を表しているか」を直感的に理解できます。t-SNE は非線形な構造の可視化に優れており、データ内のクラスター構造を発見するのに役立ちます。
10. クラスタリング — データの自然なグループ分け
K-means と HDBSCAN の 2 つのクラスタリング手法を自動実行します。K-means では、エルボー法とシルエット分析で最適なクラスター数を自動決定し、各クラスターの特性プロファイル(各特徴量の平均値・分布)を表示します。HDBSCAN は密度ベースの手法で、形状が不規則なクラスターやノイズデータの検出に強みがあります。
11. ターゲット分析 — 予測対象の特性を把握
ターゲット変数(予測対象)の分布、クラス間の偏り(不均衡度)、各特徴量とターゲットの相関ランキング、特徴量の有用性スコアを自動計算します。分類タスクで「クラス 0 が 95%、クラス 1 が 5%」のような偏りがある場合はハイライト表示されるため、不均衡データへの対応を早期に検討できます。
12. ターゲットリーケージ検出 — 本番で精度が出ない原因を特定
ターゲットリーケージとは、学習データの特徴量にターゲット変数の情報が直接的または間接的に含まれている問題です。Qast はリーケージの疑いがある特徴量を深刻度(高・中・低)付きで報告し、具体的な対応策(該当カラムの除外など)を推奨します。テスト精度が異常に高い場合は、まずこのセクションを確認しましょう。
13. 外れ値検出 — 異常値の影響を評価
外れ値検出は 2 つのレベルで提供されます。基本レベルでは IQR(四分位範囲)法と Isolation Forest で各カラムの外れ値を検出します。詳細レベルでは複数の手法をアンサンブルし、外れ値の除去前後で基本統計量(平均値・中央値・標準偏差)がどう変化するかのインパクト分析も行います。
- 1
IQR 法(四分位範囲法)
Q1 - 1.5×IQR 未満、Q3 + 1.5×IQR 超のデータを外れ値と判定します。シンプルで解釈しやすい手法です。
- 2
Isolation Forest
「外れ値はランダムな分割で早く孤立する」という性質を利用した手法です。多次元の外れ値も検出できます。
- 3
アンサンブル外れ値検出
複数の手法の結果を組み合わせて、より信頼性の高い外れ値スコアを算出します。
14. 部分依存プロット — 特徴量の影響を可視化
部分依存プロットは、特定の特徴量の値を変化させたとき、モデルの予測がどう変化するかを可視化するグラフです。「部屋数が増えるとどれだけ家賃が上がるか」のように、特徴量と予測の因果的な関係を直感的に理解できます。
15. 統計的検定 — データの仮説を客観的に検証
Qast は EDA の中で、正規性検定(Shapiro-Wilk、D'Agostino-Pearson など)、2 群の平均差の検定(t 検定、Mann-Whitney U)、3 群以上の比較(ANOVA、Kruskal-Wallis)、独立性の検定(カイ二乗検定)、相関の検定(Pearson、Spearman)を自動実行します。すべての検定結果は p 値付きで表示され、有意水準 0.05 を下回った項目はハイライトされます。
16. プロファイリングレポート — 全体サマリーを HTML で出力
上記の分析結果を統合した HTML レポートを自動生成します。レポートはブラウザ上でインタラクティブに閲覧でき、PDF やスクリーンショットとしてエクスポートすることも可能です。チームメンバーへの共有やレビュー資料として活用できます。
Qast での EDA の使い方
- 1
CSV をアップロード
データセットページから CSV ファイルをアップロードします。Qast が自動的にデータ型を推論します。
- 2
EDA を実行
データセット詳細画面の「EDA」タブをクリックし、「分析を実行」を選択します。数分で 16 種類の分析が完了します。
- 3
結果を確認
各分析セクションをタブで切り替えながら、データの特徴・品質・課題を把握します。
- 4
学習ジョブに反映
EDA の知見をもとに、不要なカラムの除外やターゲット列の選定を行い、学習ジョブを作成します。
EDA の結果は学習ジョブと紐づけて保存されるため、後から振り返ることができます。モデルの精度が期待通りでない場合は、EDA に立ち戻ってデータの問題を再確認しましょう。

