Inzicht in de Werking van de Market Basket Matrix
Veeg om het menu te tonen
Een market basket matrix is een gestructureerde manier om retailtransacties weer te geven voor analyse. In deze matrix komt elke rij overeen met een unieke transactie (zoals een aankoop van een klant bij de kassa), en elke kolom vertegenwoordigt een specifiek artikel dat te koop is. De matrix gebruikt binaire codering: een waarde van 1 betekent dat het artikel in die transactie is gekocht, terwijl 0 betekent dat dit niet het geval is.
Een market basket matrix is een gestructureerde tabel die transactionele gegevens in retailanalyse weergeeft. Elke rij staat voor een enkele transactie (zoals het winkelmandje van een klant), en elke kolom vertegenwoordigt een specifiek product of artikel dat in de winkel beschikbaar is. Het snijpunt van een rij en kolom bevat een waarde—meestal 1 of 0—die aangeeft of het artikel in die transactie is gekocht.
Deze structuur is fundamenteel voor het ontdekken van associatieregels omdat het een duidelijk, kwantitatief overzicht biedt van welke artikelen samen worden gekocht over veel transacties. Door patronen in deze matrix te analyseren, kun je associaties ontdekken, zoals het identificeren van producten die vaak samen worden gekocht of het achterhalen van artikelen die de verkoop stimuleren wanneer ze als bundel worden aangeboden.
Om te begrijpen hoe dit werkt, bekijk een kleine set voorbeeldtransacties:
- 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.
Eerst worden alle unieke artikelen opgesomd: Bread, Milk, Diaper, Beer, Eggs, Cola. Vervolgens wordt de matrix gemaakt door 1 te markeren als een artikel in een transactie voorkomt en 0 als dat niet zo is. Het resultaat is een tabel waarbij elke rij een transactie is en elke kolom een artikel, gevuld met binaire waarden om aankopen aan te geven.
Deze matrix vormt het uitgangspunt voor algoritmen die zoeken naar frequente itemsets en het genereren van associatieregels, en is daarmee een fundament van retailanalyse.
Voorbeeld: Een Market Basket Matrix opbouwen in Python
De volgende Python-code laat zien hoe een market basket matrix wordt opgebouwd uit transactiegegevens:
- Een lijst genaamd
transactionsdefinieert elke winkelmand als een lijst van samen gekochte artikelen; - Alle unieke artikelen uit elke transactie worden verzameld en gesorteerd in de lijst
items; - De code doorloopt elke transactie en maakt een rij met binaire waarden:
1als een artikel aanwezig is in de transactie,0als dat niet zo is; - Deze rijen worden gecombineerd tot een matrix, die vervolgens wordt omgezet in een pandas DataFrame met
pd.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)
Deze DataFrame biedt een duidelijke, leesbare tabel waarbij elke rij een transactie vertegenwoordigt en elke kolom een product. Door te kijken naar de 1-en in dezelfde rij, is het eenvoudig te zien welke artikelen samen worden gekocht, wat het analyseren van artikelassociaties vergemakkelijkt.
1. Welke van de volgende beschrijvingen geeft het beste het doel van een market basket matrix weer in retail analytics?
2. Wat vertegenwoordigen de rijen en kolommen doorgaans in een market basket-matrix?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.