Confianza y lift

Análisis de cesta de la compra en Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Cuando el soporte engaña

TID Transacción
1 Coffee, Milk
2 Bread, Milk, Orange
3 Bread, Milk
4 Bread, Milk, Sugar
5 Bread, Jam, Milk
... ...

 

  1. Leche y pan se compran a menudo juntos.
    • Soporte: {Milk} $\rightarrow$ {Bread}
  2. La regla no es útil para marketing.
    • Leche y pan son productos populares.
Análisis de cesta de la compra en Python

La métrica de confianza

  1. Podemos mejorar el soporte con métricas adicionales.
  2. Añadir confianza da una visión más completa.

 

$$\frac{Support(X \& Y)}{Support(X)}$$

Análisis de cesta de la compra en Python

Interpretar la confianza

Esta imagen muestra una lista de transacciones de un supermercado. Una de esas transacciones incluye mermelada y pan.

$$Support(Milk\&Coffee) = 0.20$$

Esta imagen muestra una lista de transacciones de un supermercado. Una de esas transacciones incluye mermelada y pan.

$$Support(Milk) = 1.00$$

Análisis de cesta de la compra en Python

Interpretar la confianza

  $$\frac{Support(Milk\&Coffee)}{Support(Milk)} = \frac{0.20}{1.00} = 0.20$$

  $$\frac{Support(Milk\&Coffee)}{Support(Milk)} = \frac{0.20}{0.80} = 0.25$$

  $$\frac{Support(Milk\&Coffee)}{Support(Milk)} = \frac{0.20}{0.20} = 1.00$$

Análisis de cesta de la compra en Python

La métrica lift

 

  • El lift es otra métrica para evaluar la relación entre ítems.
    • Numerador: Proporción de transacciones con X e Y.
    • Denominador: Proporción si X e Y fueran aleatorios e independientes.

 

$$\frac{Support(X \& Y)}{Support(X) Support(Y)}$$

Análisis de cesta de la compra en Python

Preparar los datos

from mlxtend.preprocessing import TransactionEncoder
import pandas as pd

# Split library strings into lists
libraries = data['Library'].apply(lambda t: t.split(','))

# Convert to list of lists
libraries = list(libraries)

# One-hot encode books
books = TransactionEncoder().fit(libraries).transform(libraries)

# Convert one-hot encoded data to DataFrame
books = pd.DataFrame(books, columns = encoder.columns_)
Análisis de cesta de la compra en Python

Calcular confianza y lift

# Print first five items
print(books.head())
       Hunger           Gatsby
0      False            True
1      False            True
2      False            False
3      False            True
4      False            True

Dataset: GoodBooks-10K.

Análisis de cesta de la compra en Python

Calcular confianza y lift

# Computing support.
supportHG = np.logical_and(books['Hunger'],books['Gatsby']).mean()
supportH = books['Hunger'].mean()
supportG = books['Gatsby'].mean()
# Compute and print confidence and lift.
confidence = supportHG / supportH
lift = supportHG / (supportH * supportG)
# Print results.
print(supportG, confidence, lift)
(0.30, 0.16, 0.53)
Análisis de cesta de la compra en Python

¡Vamos a practicar!

Análisis de cesta de la compra en Python

Preparing Video For Download...