Contenido del Curso
El Arte del A/B Testing
El Arte del A/B Testing
Histogramas y Diagramas de Caja
Acerca de Histograms
Para evaluar visualmente la distribución, necesitas construir histogramas. Si las distribuciones se alejan de la normal, deberíamos notarlo de inmediato.
¡Hora de graficar! Construyamos distribuciones para dos grupos en un mismo gráfico.
# Import the libraries import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Plotting hists of Impression columns sns.histplot(df_control['Impression'], color='#1e2635', label='Group A') sns.histplot(df_test['Impression'], color='#ff8a00', label='Group B') # Add the legend to the graph plt.legend(title='Groups') plt.xlabel('Impression') plt.ylabel('Frequency') plt.title('Distribution of Impressions') # Show the graph plt.show()
En este código, utilizamos la función sns.histplot
de la biblioteca seaborn
. La aplicamos a la columna deseada df_control['Impression']
para compararla con df_test['Impression']
.
¿Son estas distribuciones normales? Difícil de decir...
Echemos un vistazo a los diagramas de caja:
Acerca de Diagramas de caja
# Import libraries import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Add to the dataframes columns-labels, which mean belonging to either the control or the test group df_control['group'] = 'Contol group' df_test['group'] = 'Test group' # Concat control and test dataframes df_combined = pd.concat([df_control, df_test]) sns.boxplot(data=df_combined, x='group', y='Impression', palette=['#1e2635', '#ff8a00'], medianprops={'color': 'red'}) # Sign the axes plt.xlabel('') plt.ylabel('Impression') plt.title('Comparison of Impressions') # Show the results plt.show()
Aun después de los boxplots, no está claro si las distribuciones son normales.
Para mostrar dos boxplots en el mismo gráfico, combinamos los data frames utilizando la función pd.concat
.
Después, utilizamos la función sns.boxplot
, pasando el data frame combinado df_combined
a ella. En el eje x están los valores de la columna 'Impression'
, y en el eje y están los Grupo de Control y Grupo de Prueba. Con la ayuda de la biblioteca matplotlib
, firmamos el gráfico y los ejes.
Aun después de los boxplots, no está claro si las distribuciones son normales. Pero en la normalidad, necesitamos estar seguros.
¿Cómo hacerlo? Los tests estadísticos vienen al rescate, los cuales discutiremos en el próximo capítulo.
¡Gracias por tus comentarios!