基礎編
データマイニングとは何か
大量のデータから再現性のある規則性を取り出す営み。統計学・機械学習との関係と、分析が反復プロセスであること。
この記事の要点
- データマイニングは、大量のデータから「次にも当てはまる規則性」を取り出す作業です。過去を説明できただけでは足りません。
- 作業は一直線には進みません。データを見て、作って、評価して、また前に戻る ── この往復が前提です。
- 手間の大半はモデル選びではなく、データを揃えて整える工程にかかります。
データから「次にも当てはまる規則性」を取り出す
データマイニング(data mining)は、たまった大量のデータの中から、 人が気づいていない規則性やパターンを掘り出す作業のことです。 ポイントは「次にも当てはまる」という条件です。 手元のデータをうまく説明できる規則なら、いくらでも作れます。 極端な話、過去のレース結果を丸暗記すれば説明の精度は 100% になりますが、 明日のレースについては何も言えません。
だからデータマイニングでは、見つけた規則を「まだ見ていないデータ」で試すところまでをセットで考えます。この考え方は学習と検証の記事で詳しく扱います。
統計学・機械学習との関係
言葉の境目はあいまいで、実務では重なり合って使われます。 おおまかな重心の違いだけ押さえておけば十分です。
| 呼び方 | 重心 | 典型的な問い |
|---|---|---|
| 統計学 | 少ないデータから、確からしさつきで結論を述べる | この差は偶然の範囲か? |
| 機械学習 | データから予測の仕組みを自動で組み立てる | 次はどうなるか? |
| データマイニング | 大量のデータから有用な知見を探す一連の営み | そもそも何が起きているのか? |
| BI・可視化 | すでに分かっている指標を見やすく並べる | 今どうなっているか? |
本サイトでは、実際の作業の流れ(データを集める → 整える → モデルを作る → 評価する)を指してデータマイニングと呼び、その中でモデルを作る部分の技術を 機械学習と呼び分けています。
分析は一直線には進まない
データ分析の進め方には、古くから知られた型があります。よく引かれるのがKDD(Knowledge Discovery in Databases)の 5 段階と、CRISP-DM の 6 フェーズです。名前を覚える必要はありませんが、どちらにも「前の工程へ戻る矢印」があることだけは知っておいてください。
| KDD の 5 段階 | CRISP-DM の 6 フェーズ |
|---|---|
| 1. 選択(どのデータを使うか) | 1. ビジネス理解(何を解きたいか) |
| 2. 前処理(欠損・誤りを直す) | 2. データ理解(何が入っているか見る) |
| 3. 変換(特徴量を作る) | 3. データ準備(整える・作る) |
| 4. マイニング(モデルを当てる) | 4. モデリング |
| 5. 解釈・評価 | 5. 評価 → 6. 展開(実運用へ) |
実際にやってみると、評価の段階で「この特徴量は使ってはいけなかった」と気づいて データ準備に戻る、といったことが何度も起きます。戻るのは失敗ではなく、想定された動きです。 一度で完璧な手順を組もうとするより、小さく回して早く戻るほうが速く進みます。
手間の大半は前処理にかかる
「どのアルゴリズムを使うか」は、実は作業時間のごく一部です。 現場では、データを集めて突き合わせ、欠けている値を扱い、単位や表記の揺れを直し、 意味のある形に加工する工程が大半を占めます。 アルゴリズムを差し替えても精度が数%しか動かないのに、 入力するデータの作り方を変えたら大きく変わった、というのはよくあることです。
この工程はデータの見方と前処理と特徴量エンジニアリングで扱います。
まず「何を知りたいのか」を決める
分析を始める前に決めておくことが 1 つあります。何をもって「うまくいった」とするかです。 これが決まっていないと、出てきた数字が良いのか悪いのか判断できず、 たまたま見栄えのいい結果を採用してしまいます。
しかも、機械学習の指標(正解率など)と、本当に達成したいこと(利益・満足度)は 一致しないことがあります。この食い違いは評価指標の読み方で扱う中心的なテーマです。