🚧 本アプリは現在開発中です。公開・リリース時期は決まり次第お知らせします。
目次(データマイニング入門

基礎編

データマイニングとは何か

大量のデータから再現性のある規則性を取り出す営み。統計学・機械学習との関係と、分析が反復プロセスであること。

この記事の要点

  • データマイニングは、大量のデータから「次にも当てはまる規則性」を取り出す作業です。過去を説明できただけでは足りません。
  • 作業は一直線には進みません。データを見て、作って、評価して、また前に戻る ── この往復が前提です。
  • 手間の大半はモデル選びではなく、データを揃えて整える工程にかかります。

データから「次にも当てはまる規則性」を取り出す

データマイニング(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 つあります。何をもって「うまくいった」とするかです。 これが決まっていないと、出てきた数字が良いのか悪いのか判断できず、 たまたま見栄えのいい結果を採用してしまいます。

しかも、機械学習の指標(正解率など)と、本当に達成したいこと(利益・満足度)は 一致しないことがあります。この食い違いは評価指標の読み方で扱う中心的なテーマです。