Los valores atípicos u outliers de un conjunto de datos son aquellos registros que se alejan de forma significativa de los demás puntos. Identificar estos valores es crucial para un correcto análisis de datos. No conocer ni comprender los outliers de un conjunto de datos puede llevar a conclusiones erróneas durante los análisis de datos, ya que su presencia afecta a los resultados. Seaborn dispone de herramientas para identificar visualmente los outliers de manera efectiva. En esta entrada se verá cómo usar los gráficos de cajas para identificar outliers en Seaborn.
Importación de un conjunto de datos
En esta entrada se usará el popular conjunto de datos iris que se incluye entre los que incluyen Seaborn. Por lo que solamente se tiene que importar Seaborn y llamar a la función load_dataset()
con el nombre del conjunto para tener los valores en un DataFrame de Pandas.
import seaborn as sns import pandas as pd # Cargar datos de iris iris = sns.load_dataset("iris")
Identificación de outliers en Searbon
Los gráficos de cajas de Searbon muestran por defecto los valores atípicos del conjunto de datos como puntos. Considerando como outliers todos aquellos valores que se alejan 1,5 veces del rango intercuartil (IRQ)del conjunto de datos. Esto se puede comprobar para el conjunto de datos iris calculando el IRQ y viendo que estos puntos son los que aparecen en la gráfica.
import matplotlib.pyplot as plt # Calcular el rango intercuartil (IQR) Q1 = iris['sepal_width'].quantile(0.25) Q3 = iris['sepal_width'].quantile(0.75) IQR = Q3 - Q1 # Definir los límites de los outliers lower_bound = Q1 - 1.5 * IQR upper_bound = Q3 + 1.5 * IQR # Identificar y resaltar los outliers en un gráfico de caja sns.boxplot(x=iris['sepal_width']) sns.scatterplot(x=iris[iris['sepal_width'] < lower_bound]['sepal_width'], y=0, s=150, facecolor='w', edgecolor='r', linewidth=1.5, label='Outliers') sns.scatterplot(x=iris[iris['sepal_width'] > upper_bound]['sepal_width'], y=0, s=150, facecolor='w', edgecolor='r', linewidth=1.5) plt.legend() # Mostrar el gráfico plt.show()
Un ejemplo en el que, en primer lugar, se calcula el IRQ mediante la diferencia entre los cuantiles 0,25 (Q1
) y 0,75 (Q3
) del conjunto de datos. Para identificar los outliers se define un límite inferior como el primer cuantíl menos 1,5 veces el IRQ, para el límite superior se usa el segundo valor más 1,5 el IRQ. Una vez definido los límites se crea una gráfica de cajas y, sobre ella, se dibuja un círculo rojo sobre los valores atípicos. Como se puede ver en la gráfica, los puntos negros son justamente los outliers.
# Identificar los outliers en un gráfico de caja por especie sns.boxplot(x="species", y="sepal_width", data=iris) # Mostrar el gráfico plt.show()
La identificación de outliers en Seaborn también dentro del conjunto de datos iris también se puede hacer por especie.
Conclusiones
El análisis de outliers es esencial para identificar y comprender los valores atípicos dentro de los conjuntos de datos. Las gráficas de caja de Seaborn son una herramienta que permite identificar de forma visual si existen estos valores y donde están.
Deja una respuesta