データマイニングとは?手法と分析の流れをやさしく解説
みなさん、こんにちは。スマート・アナリティクスの畠です。 オンライン書店で「この商品を買った人は、こんな商品も買っています」というおすすめが出てきた経験はありませんか? あの裏側では、膨大な購買履歴の中から「一緒に買われやすい組み合わせ」が自動的に見つけ出されています。こうした「データの中に眠っている規則性」を、人の勘ではなくコンピュータの力で系統的に見つけ出すのがデータマイニングです。データマイニングとは、大量のデータから役に立つ規則性やパターンを見つけ出す分析の総称のこと。マイニング(採掘)という名前のとおり、データという鉱山から価値ある発見を掘り出すイメージです。このページでは、仮説を立ててから確かめる伝統的な統計学との考え方の違い、決定木・クラスタリング・アソシエーション分析といった代表的な手法、機械学習との関係、気をつけたい「過学習」、そして業界標準プロセス「CRISP-DM」と分析の流れ4ステップまで、初学者の方にもわかりやすく順番に解説します。
- データマイニングは、大量のデータから役に立つ規則性やパターンを見つけ出す分析の総称
- 仮説を立ててから確かめる「仮説検証型」の統計に対し、データマイニングはデータから規則性を探す「探索型」
- 代表的な手法は、分類(決定木)・クラスタリング・関連の発見(アソシエーション分析)・予測の4タスクで整理できる
- 機械学習はデータマイニングを支える技術。両者は重なり合う関係にある
- 手元のデータに合わせすぎて新しいデータで当たらなくなる「過学習」に注意。訓練データと検証データを分けて確かめる
- 進め方は「目的の整理 → データの準備 → モデルの作成 → 評価と解釈」の4ステップ
データマイニングとは何か
データマイニングとは、大量のデータから、役に立つ規則性やパターンを見つけ出す分析の総称です。マイニング(mining)は「採掘」という意味で、データという鉱山から、人の目では気づけない価値ある発見を掘り出すことにたとえられています。
たとえば、次のような場面を想像してみてください。
- オンライン書店の購買履歴から、「一緒に買われやすい商品の組み合わせ」を見つける
- 大学の履修データから、「一緒に履修されやすい科目のパターン」を見つける
- 数千人分の学内アンケートから、回答の傾向が似ている学生のグループを見つける
- 過去の学習記録から、どんな学び方の学生が資格試験に合格しやすいかの規則を見つける
どの例も、「最初に仮説があった」わけではないことに注目してください。データの中から、規則性のほうを探しに行くのがデータマイニングの発想です。データの量が増えるほど人の目で全体を見渡すことは難しくなりますから、コンピュータの力で系統的にパターンを探す技術の価値が大きくなります。
なお、対象が文章データの場合のデータマイニングは、テキストマイニングという分野として発展しています。このページでは、表形式の(数値やカテゴリの)データを中心に話を進めます。
データマイニングは1つの手法の名前ではなく、「データからパターンを探す取り組み」の総称です。その中に、決定木・クラスタリング・アソシエーション分析といった個別の手法が含まれます。
仮説検証型の統計と、探索型のデータマイニング
「それって、ふつうの統計学と何が違うのですか?」——これは本当によくいただく質問です。違いの核心は、仮説とデータ、どちらが先かにあります。
伝統的な統計学の進め方は「仮説検証型」です。たとえば「勉強時間が長い学生ほどテストの点数が高いのではないか」という仮説を先に立て、それを確かめるためにデータを集め、t検定や回帰分析で仮説が支持されるかを判定します。理科の実験と同じで、問いが先、データが後です。
一方、データマイニングは「探索型」です。手元にすでにある大量のデータを出発点に、「何かおもしろい規則性はないか」をコンピュータに探させます。データが先、発見が後。この順序の違いが、使う手法や結果の扱い方の違いにつながります。
| 仮説検証型(伝統的な統計) | 探索型(データマイニング) | |
|---|---|---|
| 出発点 | 先に仮説を立てる | 先にデータがある |
| 問いの形 | 「この仮説は正しいか?」 | 「何か規則性はないか?」 |
| 代表的な道具 | t検定・分散分析・回帰分析など | 決定木・クラスタリング・アソシエーション分析など |
| データの量 | 必要十分な標本を設計して集める | すでにある大量のデータを活用することが多い |
| 結果の位置づけ | 仮説の支持・不支持の判断 | 新しい仮説・発見の候補(別途の確認が望ましい) |
大切なのは、どちらが優れているという話ではなく、役割が違うということです。データマイニングで見つけたパターンは、あくまで「発見の候補」。それが偶然ではないか、ほかのデータでも成り立つかを確かめる段階では、仮説検証型の統計が再び活躍します。探索で仮説を生み、検証で確かめる——2つの型は車の両輪なのです。
代表的なタスクと手法——分類・クラスタリング・関連・予測
データマイニングの手法はたくさんありますが、初学者のうちは「何をしたいか(タスク)」で4つに整理して覚えるのがおすすめです。
分類——決定木でルールを見つける
決定木とは、データを「はい/いいえ」の質問で枝分かれさせながら、結果を予測するルールを木の形で表す手法です。たとえば「資格試験に合格する学生・しない学生」を分ける規則を探すと、次のような木が得られます。
決定木の魅力は、なんといっても結果が読めることです。「週10時間以上勉強していて、かつ過去問を解いた人の合格率が高い」のように、分かれ目の条件がそのまま言葉で説明できます。複雑な数式のモデルに比べて、レポートや発表で説得力を持たせやすい手法です。
クラスタリング——似たもの同士をグループに分ける
クラスタリングとは、似た特徴を持つデータ同士を自動的にグループ(クラスター)に分ける手法です。たとえば、学習スタイルに関するアンケートの回答から、「コツコツ計画型」「直前集中型」「仲間と一緒型」のような学生のタイプが浮かび上がる、といった使い方をします。分類(決定木)と違って「正解ラベル」を必要とせず、データの構造そのものからグループを見つけ出すのが特徴です。
関連の発見——アソシエーション分析
アソシエーション分析とは、「Aが起こるとき、Bも一緒に起こりやすい」という組み合わせの規則を見つける手法です。冒頭のオンライン書店の例がまさにこれで、購買履歴から「統計学の入門書を買う人は、研究法の本も一緒に買いやすい」といった規則を抽出できます。履修データから「一緒に取られやすい科目」を見つける、というのも同じ発想です。見つかった規則は、おすすめ表示や品ぞろえ、履修案内の改善のような、次の工夫につなげられます。
予測——将来の値を見積もる
過去のデータからモデルを作り、まだ結果のわかっていないデータについて将来の値や起こりやすさを見積もるタスクです。回帰分析やロジスティック回帰といった統計の手法も、ニューラルネットワークのような機械学習の手法も、ここでは同じ「予測」の道具として使われます。データマイニングが伝統的な統計と地続きであることが、よくわかるところです。
手法の名前を暗記するより、「分類したいのか、グループ分けしたいのか、組み合わせを見つけたいのか、予測したいのか」というタスクから考えると、使うべき手法は自然に絞れます。
機械学習との関係——重なりと違い
データマイニングを学び始めると、必ず出会うのが「機械学習と何が違うの?」という疑問です。実は、この2つの言葉はかなり重なり合っていて、使われ方も時代とともに変わってきました。私なりに整理すると、次のようになります。
- データマイニングは「目的」に重心のある言葉。データから役に立つパターンや知見を見つけ出すこと自体を指します。
- 機械学習は「技術」に重心のある言葉。データからコンピュータが自動的に規則を学習する仕組み(アルゴリズム)を指します。
つまり、機械学習はデータマイニングという目的を支える主要な道具立てです。決定木もクラスタリングも、機械学習のアルゴリズムとして説明されることがあれば、データマイニングの手法として説明されることもあります。同じものを「目的の側」から呼ぶか「技術の側」から呼ぶかの違い、と考えるとすっきりします。
初学者の方は、言葉の線引きに悩むより、「どちらの教科書にも同じ手法が出てくるのは、重なり合う分野だから」と理解しておけば十分です。
過学習——「覚えすぎ」の落とし穴
過学習とは、モデルが手元のデータに合わせすぎてしまい、新しいデータではうまく当たらなくなる現象です。データマイニングでいちばん怖い落とし穴なので、しっかり説明させてください。
試験勉強にたとえるとわかりやすいと思います。過去問の答えを「丸暗記」した人は、過去問とまったく同じ問題なら満点を取れます。しかし、少し形を変えた新しい問題には対応できませんよね。一方、解き方の「考え方」を身につけた人は、新しい問題にも対応できます。過学習とは、モデルが「丸暗記」状態になってしまうことなのです。
困ったことに、過学習したモデルほど、手元のデータでの成績は良く見えます。複雑なモデルを作るほど、手元のデータへの当てはまりはどこまでも上げられるからです。そこでデータマイニングでは、データをあらかじめ2つに分けておく方法が標準的に使われます。
- 訓練データ:モデルを作る(学習させる)ために使うデータ
- 検証データ:作ったモデルの実力を測るために、学習には使わず取っておくデータ
訓練データでの成績がどれだけ良くても、検証データでの成績が悪ければ、そのモデルは丸暗記をしているだけ、と判断できます。モデルの評価は必ず「学習に使っていないデータ」で行う——これがデータマイニングの鉄則です。
「手元のデータで精度99%」は、喜ぶ場面ではなくまず疑う場面です。検証データでも同じくらいの精度が出て、はじめて信頼できるモデルといえます。
データマイニングの進め方【4ステップ】
データマイニングの進め方には、CRISP-DM(クリスプ・ディーエム:CRoss-Industry Standard Process for Data Mining)と呼ばれる業界標準のプロセスモデルがあります。1990年代後半に、SPSS Modelerの前身「Clementine」を開発したISL社を含む企業コンソーシアムが策定したもので、業種を問わず使える「データマイニングの進め方の地図」として、現在も広く参照されています。
CRISP-DMの6つのフェーズ
| フェーズ | 何をするか | 本ページの4ステップとの対応 |
|---|---|---|
| 1. ビジネス理解 | 目的・ゴール・成功の基準を決める | ステップ1 |
| 2. データ理解 | データを収集し、中身と品質を把握する | ステップ1〜2 |
| 3. データ準備 | 欠損の処理・整形・結合など、分析できる形に整える | ステップ2 |
| 4. モデリング | タスクに合った手法を選び、モデルを作る | ステップ3 |
| 5. 評価 | 結果が目的に照らして使えるかを確かめる | ステップ4 |
| 6. 展開 | 結果を現場の運用や意思決定に組み込む | (活用・次のサイクルへ) |
大切なのは、この6つのフェーズが一方通行ではなく循環型だという点です。データを理解してみたら目的を立て直す、評価の結果を受けてデータ準備からやり直す——そうした行き来を繰り返しながら精度を高めていくことが、最初から想定されています。なお、後述するIBM SPSS Modelerには、このCRISP-DMに沿ってプロジェクトを整理する機能が組み込まれています。
ここでは、このCRISP-DMの考え方を初学者向けに4つのステップへぎゅっと凝縮して紹介します。研究データの分析なら、「ビジネス理解」は「研究目的の明確化」と読み替えてください。
ステップ1:目的を整理する
「何を見つけたいのか」「見つかった規則を何に使うのか」を先に言葉にします(例:履修データから科目の組み合わせの傾向を見つけ、履修案内の改善に活かす)。探索型の分析こそ、目的があいまいだと「おもしろいけれど使い道のない発見」ばかりが積み上がります。ここで分析のゴールと評価の基準を決めておきます。
ステップ2:データを準備する
データを集めて、分析できる形に整えます。欠損値(空欄)の処理、明らかな入力ミスの修正、変数の形式の統一などを行い、必要なら複数のデータを結合します。地味ですが、実際の分析プロジェクトでは全体の半分以上の時間がこのステップに費やされる、と言われるほど重要な工程です。
ステップ3:モデルを作る
タスク(分類・クラスタリング・関連・予測)に合った手法を選び、モデルを作ります。分類や予測の場合は、データを訓練データと検証データに分けてから学習させます。最初から1つの手法に決め打ちせず、複数の手法を試して比べるのが一般的です。
ステップ4:評価して解釈する
検証データでモデルの実力を確かめ、見つかったパターンが目的に照らして意味を持つかを吟味します。偶然の規則や、当たり前すぎる規則(「3年生は3年生向け科目を履修しやすい」など)が混ざっていないかも確認します。価値のある発見は、仮説として別のデータや研究デザインで確かめる次のサイクルへつなげます。
データマイニングを行うツール
データマイニングは、Pythonなどのプログラミング言語で行うこともできますが、初学者や、分析そのものに集中したい研究者・学生には、GUIで操作できる専用ツールという選択肢があります。
当社が取り扱うIBM SPSS Modelerは、データの読み込みから前処理・モデル作成・評価までの流れを、アイコンを線でつなぐ「ストリーム」として組み立てられるデータマイニングツールです。決定木・クラスタリング・アソシエーション分析・ニューラルネットワークなど代表的な手法をプログラミングなしで実行でき、このページで説明した「訓練データと検証データの分割」や「複数モデルの比較」も画面上の操作で行えます。分析の手順がフローとして目に見える形で残るので、卒業研究などで「何をどの順番でやったか」を説明しやすいのも、教育の場面でうれしい特徴です。
関連分析手法・関連ページ
データマイニングと関連の深い分析手法・ページを以下にまとめます。あわせてご活用ください。
- テキストマイニングとは? — 文章データを対象にしたデータマイニング。アンケート自由記述の分析に。
- 相関分析とは? — 2変数の関係の強さを測る基本手法。パターン発見の出発点になります。
- カイ二乗検定とは? — 見つけた組み合わせの偏りが偶然かどうかを検定する道具です。
- クラスター分析とは? — 似たもの同士をグループに分ける手法をくわしく解説します。
- IBM SPSS Modeler — 決定木・クラスタリング・アソシエーション分析をGUIで実行できるデータマイニングツール。
- テキストマイニングツール MyVoice TextVoice — 文章データの分析はこちら。アップロードするだけのクラウド型。
- 分析手法で選ぶSPSS製品 — やりたい分析からSPSS製品を選べる一覧。
つまずきやすいポイントと注意点
データマイニングでつまずきやすいポイントを、ここで整理しておきます。
1. 見つかったパターンを、そのまま「事実」として結論にする。探索型の分析で見つかった規則性は、まだ「発見の候補」です。偶然の産物かもしれませんし、別のデータでは成り立たないかもしれません。重要な発見ほど、検証データでの確認や、仮説検証型の統計による追試で裏づけましょう。
2. パターンの発見を、因果関係と混同する。「AとBが一緒に起こりやすい」ことは、「AがBの原因である」ことを意味しません。一緒に買われやすい2冊の本は、どちらかがどちらかの原因なのではなく、同じ授業の課題図書なのかもしれません。
3. 手元のデータでの精度だけを信じる(過学習)。訓練データでの精度がどれだけ高くても、検証データで確かめるまでは実力はわかりません。データを分けずに精度を報告するのは避けましょう。
4. データの質を確認せずにモデルを作る。欠損や入力ミスだらけのデータからは、どんな高度な手法でも信頼できるパターンは出てきません。「ゴミを入れればゴミが出る」は、データマイニングの世界の合言葉です。
5. 当たり前の規則に時間を使う。探索的な分析では、「3年生は3年生向けの科目を取りやすい」のような自明な規則も大量に見つかります。目的(ステップ1)に照らして、意味のある発見だけを拾い上げる目を持ちましょう。

