Plot met parallelle coördinaten

Market Basket Analysis in Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Wat is een plot met parallelle coördinaten?

De plot geeft een voorbeeld van een plot met parallelle coördinaten met de MovieLens-dataset.

Market Basket Analysis in Python

Wanneer parallelle-coördinatenplots gebruiken

 

  • Parallelle coördinaten vs. heatmap.
    • Geen intensiteitsinfo nodig.
    • Alleen weten of een regel bestaat.
    • Visuele ruis verminderen.

 

  • Parallelle coördinaten vs. spreidingsplot.
    • Informatie per regel nodig.
    • Niet geïnteresseerd in meerdere metrics.
    • Alleen de eindregels bekijken.
Market Basket Analysis in Python

De data voorbereiden

 

from mlxtend.frequent_patterns import association_rules, apriori

# Load the one-hot encoded data
onehot = pd.read_csv('datasets/movies_onehot.csv')
# Generate frequent itemsets
frequent_itemsets = apriori(onehot, min_support = 0.10, use_colnames = True, max_len = 2)

# Generate association rules
rules = association_rules(frequent_itemsets, metric = 'support', min_threshold = 0.00)
Market Basket Analysis in Python

Regels omzetten naar coördinaten

# Convert rules to coordinates.
rules['antecedent'] = rules['antecedents'].apply(lambda antecedent: list(antecedent)[0])
rules['consequent'] = rules['consequents'].apply(lambda consequent: list(consequent)[0])
rules['rule'] = rules.index
# Define coordinates and label
coords = rules[['antecedent','consequent','rule']]

# Print example
print(coords.head(1))
                antecedent        consequent  rule
0  Dark Knight, The (2008)  Inception (2010)     0
Market Basket Analysis in Python

Een plot met parallelle coördinaten maken

 

from pandas.plotting import parallel_coordinates

# Generate parallel coordinates plot
parallel_coordinates(coords, 'rule', colormap = 'ocean')
Market Basket Analysis in Python

Een plot met parallelle coördinaten maken

De figuur toont een plot met parallelle coördinaten met MovieLens-gegevens.

Market Basket Analysis in Python

Een plot met parallelle coördinaten verfijnen

# Generate frequent itemsets
frequent_itemsets = apriori(onehot, min_support = 0.01, use_colnames = True, max_len = 2)

# Generate association rules
rules = association_rules(frequent_itemsets, metric = 'lift', min_threshold = 1.00)

# Generate coordinates and print example
coords = rules_to_coordinates(rules)

# Generate parallel coordinates plot
parallel_coordinates(coords, 'rule')
Market Basket Analysis in Python

Een plot met parallelle coördinaten verfijnen

De figuur toont een plot met parallelle coördinaten met MovieLens-gegevens.

Market Basket Analysis in Python

Laten we oefenen!

Market Basket Analysis in Python

Preparing Video For Download...