マーケットバスケットマトリックスの仕組みの理解
メニューを表示するにはスワイプしてください
マーケットバスケットマトリックスは、小売取引を分析するための構造化された表現方法です。このマトリックスでは、各行が一意の取引(例えば、顧客のレジでの購入)に対応し、各列が販売されている特定の商品を表します。マトリックスの各エントリはバイナリエンコーディングを使用し、1はその取引で商品が購入されたこと、0は購入されなかったことを示します。
マーケットバスケットマトリックスは、小売分析における取引データを表現する構造化されたテーブルです。各行は単一の取引(顧客のショッピングバスケットなど)を表し、各列は店舗で利用可能な特定の商品やアイテムを表します。行と列の交点には値が入り、通常は1または0で、その取引で商品が購入されたかどうかを示します。
この構造はアソシエーションルールマイニングの基礎となり、多数の取引においてどの商品が一緒に購入されているかを明確かつ定量的に把握できます。このマトリックスのパターンを分析することで、頻繁に一緒に購入される商品や、バンドル販売時に売上を牽引する商品などの関連性を発見できます。
この仕組みを理解するために、サンプル取引の小さなセットを考えてみましょう:
- Transaction 1: Bread, Milk;
- Transaction 2: Bread, Diaper, Beer, Eggs;
- Transaction 3: Milk, Diaper, Beer, Cola;
- Transaction 4: Bread, Milk, Diaper, Beer;
- Transaction 5: Bread, Milk, Diaper, Cola.
まず、すべてのユニークな商品をリストアップします:Bread, Milk, Diaper, Beer, Eggs, Cola。次に、各取引に商品が含まれていれば1、含まれていなければ0を記入してマトリックスを作成します。結果として、各行が取引、各列が商品となり、購入状況を示すバイナリ値で埋められたテーブルが完成します。
このマトリックスは、頻出アイテムセットの探索やアソシエーションルールの生成を行うアルゴリズムの出発点であり、小売分析の基盤となる要素。
例:Pythonでのマーケットバスケットマトリックスの構築
以下のPythonコード例は、取引データからマーケットバスケットマトリックスを構築する方法を示す。
transactionsというリストで、各ショッピングバスケットを一緒に購入された商品のリストとして定義。- すべての取引にわたるユニークな商品を収集し、
itemsリストにソート。 - 各取引を反復処理し、商品が取引に含まれていれば
1、含まれていなければ0のバイナリ値の行を作成。 - これらの行をマトリックスとして結合し、
pd.DataFrameを使ってpandasのDataFrameに変換。
1234567891011121314151617181920212223import pandas as pd # Sample list of transactions (each transaction is a list of items) transactions = [ ['Bread', 'Milk'], ['Bread', 'Diaper', 'Beer', 'Eggs'], ['Milk', 'Diaper', 'Beer', 'Cola'], ['Bread', 'Milk', 'Diaper', 'Beer'], ['Bread', 'Milk', 'Diaper', 'Cola'] ] # Get a sorted list of all unique items items = sorted({item for transaction in transactions for item in transaction}) # Create the market basket matrix basket_matrix = [] for transaction in transactions: row = [1 if item in transaction else 0 for item in items] basket_matrix.append(row) # Convert to pandas DataFrame for readability df = pd.DataFrame(basket_matrix, columns=items) print(df)
このDataFrameは、各行が取引を、各列が商品を表す明確で読みやすい表を提供します。同じ行に1があることで、どの商品が一緒に購入されたかを簡単に確認でき、商品の関連性を分析しやすくなります。
1. 小売分析におけるマーケットバスケット行列の目的として最も適切なものはどれですか?
2. マーケットバスケット行列では、通常、行と列は何を表しますか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください