Data Mining
データマイニングでは、統計学と機械学習を用いて大規模なデータセットからパターン、関連性、クラスタ、異常を発見します。KDDにおける分析の段階です。
データマイニングとは、統計、機械学習、データベース技術を使い、大規模なデータセットから共起する項目、自然なグループ、予測ルール、異常なレコードなどの有用なパターンを発見するプロセスです。正式には、データマイニングはデータベースにおける知識発見(KDD)の分析工程にあたります。Usama Fayyad、Gregory Piatetsky-Shapiro、Padhraic Smythは1996年に、KDDをデータ選択、データ前処理、変換、マイニング、結果の解釈から成る一連の工程として説明しました。
データマイニングのプロセス#
広く使われているプロセスモデルに、データマイニングのための業界横断型標準プロセス(CRISP-DM)があります。Teradata、Daimler、NCRなどが参加するコンソーシアムが、1999年に初めて発表しました。後の工程で前の工程の不足が見つかった場合、次の6つのフェーズを行き来します。
データクリーニング、ソースの結合、特徴量エンジニアリングを含むデータ準備は、通常、最も時間のかかるフェーズです。パターンがレコードの欠落や重複によるものだと分かると、モデリングからデータ準備へ戻ります。
主な手法#
- アソシエーションルール学習: マーケットバスケット分析のように、共に出現する項目やイベントを見つけます。Rakesh AgrawalとRamakrishnan Srikantが1994年に発表したAprioriアルゴリズムにより、大規模なトランザクションデータベースでも実用的になりました。
- k-meansまたはDBSCANによるクラスタリング: 教師なし学習の一種として、顧客セグメントや類似画像など、ラベルのないレコードを類似性に基づいてグループ化します。
- 決定木による分類: ラベル付きの履歴データを基に、ローン申請の承認や要確認の判定など、レコードを既知のカテゴリに割り当てるルールを学習します。
- 異常検知: 不正なカード取引や、センサー値が正常な範囲から外れていく機械など、他と大きく異なるレコードを検出します。
- 系列パターンマイニング: 購入につながることが最も多いページ遷移など、順序のあるパターンを見つけます。
アソシエーションルールは3つの数値で評価します。サポートは両方の項目を含むトランザクションの割合、信頼度は項目Aを含むトランザクションのうち項目Bも含む割合、リフトは信頼度を項目B単独の出現頻度で割った値です。そのため、リフトが1を超える場合、AとBは偶然の予測より頻繁に共起しています。この例では、pandasを使い、8つの買い物かごに含まれるすべての商品ペアを評価します。
from itertools import permutations
import pandas as pd
# Eight shopping baskets, one column per product
baskets = pd.DataFrame(
[[1, 1, 0, 1], [1, 1, 0, 0], [0, 1, 1, 0], [1, 1, 1, 1], [1, 0, 0, 1], [0, 0, 1, 0], [1, 1, 0, 1], [0, 1, 1, 0]],
columns=["bread", "butter", "milk", "jam"],
).astype(bool)
# Score every rule "A -> B" and keep frequent rules that beat chance
for a, b in permutations(baskets.columns, 2):
support = (baskets[a] & baskets[b]).mean() # share of baskets with both items
confidence = support / baskets[a].mean() # share of A baskets that also hold B
lift = confidence / baskets[b].mean() # confidence relative to B's base rate
if support >= 0.25 and lift > 1:
print(f"{a} -> {b}: support {support:.2f}, confidence {confidence:.2f}, lift {lift:.2f}")このコードは4つのルールを出力します。パン→バターのルールは信頼度が0.80と高い一方、バターはもともと買い物かごの4つに3つ含まれているため、リフトはわずか1.07です。パン→ジャムのルールは信頼度が同じですが、リフトは1.60です。牛乳→バターのルールは信頼度が0.75、リフトがちょうど1.00のため、フィルターで除外されます。
コンピュータービジョンにおけるデータマイニング#
画像や動画のコレクションをマイニングして、モデルにとって最も重要なサンプルを見つけます。ハードネガティブマイニングでは、検出器が物体と誤判定した背景領域を選び、再度トレーニングに使います。アクティブラーニングでは、ラベルのないデータ群から、モデルの確信度が最も低い画像を見つけます。デプロイ済みシステムの検出ログをマイニングすると、製造ラインで繰り返し発生する欠陥の種類や、店舗の混雑時間帯が分かります。また、埋め込みを使うと、数百万枚の画像を内容ごとにクラスタリングして、重複や不足を見つけられます。
Ultralytics Platformは、Clusteringパネルでこの方法によるデータセットのマイニングを行います。各画像の埋め込みを計算し、データセットをインタラクティブな2D散布図に投影します。視覚的に似た画像は近くに配置されるため、ユーザーは分割、クラス、クラスターごとに点を色分けし、重複や外れ値を見つけ、範囲をなぞって該当画像を確認、再ラベル付け、移動できます。










