データから洞察へ — FMDによるクラスタリング

AI/ML

概要

このリポジトリは「From-Data-to-Insight-Clustering」と題された顧客セグメンテーションのハンズオンプロジェクトです。分析対象はOnline Retail 2010データセット(約30,000行)で、各顧客をFrequency(購入頻度=請求書数)、Monetary(合計購買金額=Quantity×UnitPriceの合計)、Diversity(購入したユニーク商品数)のFMD三指標で集約します。KMeansとDBSCANという対照的なクラスタリング手法を適用し、Silhouette ScoreやDavies-Bouldin Indexで評価、可視化とPDFレポートで結果の解釈を示します。データクリーニングから特徴量設計、スケーリング、クラスタ評価まで一貫したワークフローを提供し、実務や学習向けに分かりやすく構成されています。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 3
  • ファイル数: 5
  • メインの言語: Jupyter Notebook

主な特徴

  • FMD(Frequency, Monetary, Diversity)によるシンプルで解釈性の高い顧客特徴量設計
  • KMeans(パーティショニング)とDBSCAN(密度ベース)の比較分析
  • Silhouette Score・Davies-Bouldin Indexを用いたクラスタ評価
  • NotebookとPDFレポートで手順・可視化・結論を再現可能に提供

技術的なポイント

本プロジェクトの技術的な中核は「FMDによる集約」と「クラスタリング手法の比較」にあります。データ前処理では、欠損値やキャンセル(Invoiceにマイナス金額が含まれる場合など)の扱い、CustomerIDでの集約を丁寧に行うことが重要です。各顧客ごとに

  • Frequency:その顧客の請求書数(購買回数の代理指標)
  • Monetary:Quantity×UnitPriceの合計(生涯購買金額や分析期間内の総額)
  • Diversity:その顧客が購入したユニークなStockCode数 を算出し、外れ値の確認や対数変換、標準化(StandardScalerやRobustScaler)を行ってからクラスタリングに渡します。

KMeansはクラスタ数kの選定が鍵で、Elbow法やSilhouetteスコアを参照して適切なkを決定します。各クラスタの重心(センチロイド)を解釈することで「高頻度・高金額・低多様性のコア顧客」「低頻度・低金額だが多様な商品を買う顧客」など実務的なセグメント定義が可能です。一方、DBSCANは密度ベースでノイズ点(外れ値)を自動識別できるため、非球状クラスタや異常顧客の抽出に強みがあります。DBSCANではepsilon(近傍距離)とmin_samplesのチューニングが結果に大きく影響するため、kNN距離プロット等でEpsを決める工程が推奨されます。

評価指標としてSilhouette Scoreはクラスタの凝集度と分離度を直感的に示し、Davies-Bouldin Indexはクラスタ間の平均的な分離性を表します。これらを併用することで、単一の指標に依存しない堅牢な評価が可能です。可視化は2〜3次元に主成分分析(PCA)やt-SNEで射影して散布図を描き、各クラスタの分布や重心を視認化します。最終的にNotebookで手順を再現でき、PDFレポートで結果要約とビジネス向けインサイト(ターゲティング策、キャンペーン優先度、離脱リスクの仮説など)を提示しています。

注意点として、Online Retailデータは特定地域や期間に偏る可能性があり、外部データ(属性情報やチャネル情報)がないと解釈に限界が出ます。また、パラメータ感度や特徴量設計次第でクラスタ構造が大きく変わるため、本成果は探索的分析として扱い、必要に応じてA/B検証や時間軸での追跡調査を行うことが望ましいです。

プロジェクトの構成

主要なファイルとディレクトリ:

  • Customer Segmentation FMD Based with Kmeans and DBSCAN.pdf: file
  • Portofolio Clustering FMD.pdf: file
  • Portofolio_Clustering_FMD.ipynb: file
  • README.md: file
  • online retail 2010 30k.csv: file

まとめ

FMDを軸にした実務寄りの顧客セグメンテーション事例で、KMeansとDBSCANの使い分けや評価指標の実践的運用が学べます。(約50字)

リポジトリ情報:

READMEの抜粋:

From-Data-to-Insight-Clustering

Customer Segmentation with FMD using KMeans & DBSCAN

📌 Project Overview

This project explores customer segmentation using the Online Retail 2010 dataset (~30,000 rows).
Segmentation is based on FMD dimensions:

  • Frequency → how often a customer purchases (number of invoices)
  • Monetary → total transaction value (Quantity × Price)
  • Diversity → number of unique products purchased

We applied KMeans and DBSCAN clust…