Diagramme en coordonnées parallèles

Analyse des paniers d’achat en Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Qu'est-ce qu'un diagramme en coordonnées parallèles ?

Le graphique illustre un exemple de coordonnées parallèles avec le jeu de données MovieLens.

Analyse des paniers d’achat en Python

Quand utiliser les coordonnées parallèles

 

  • Coordonnées parallèles vs. carte thermique.
    • Pas besoin d'intensité.
    • Vous voulez seulement savoir si une règle existe.
    • Réduire l'encombrement visuel.

 

  • Coordonnées parallèles vs. nuage de points.
    • Besoin d'informations par règle.
    • Pas d'intérêt pour plusieurs métriques.
    • Examiner uniquement les règles finales.
Analyse des paniers d’achat en Python

Préparer les données

 

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)
Analyse des paniers d’achat en Python

Convertir les règles en coordonnées

# 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
Analyse des paniers d’achat en Python

Générer un diagramme en coordonnées parallèles

 

from pandas.plotting import parallel_coordinates

# Generate parallel coordinates plot
parallel_coordinates(coords, 'rule', colormap = 'ocean')
Analyse des paniers d’achat en Python

Générer un diagramme en coordonnées parallèles

La figure montre un diagramme en coordonnées parallèles avec les données MovieLens.

Analyse des paniers d’achat en Python

Affiner un diagramme en coordonnées parallèles

# 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')
Analyse des paniers d’achat en Python

Affiner un diagramme en coordonnées parallèles

La figure montre un diagramme en coordonnées parallèles avec les données MovieLens.

Analyse des paniers d’achat en Python

Passons à la pratique !

Analyse des paniers d’achat en Python

Preparing Video For Download...