Python

Análisis de outliers en Seaborn: Cómo identificar y visualizar valores atípicos

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()
Identificación de outliers mediante los gráficos de caja de Seaborn

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()
Los outliers en función de la especie para el ancho del pétalo

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.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Seaborn

Recent Posts

Curiosidad: El puerto 80 y los números de puerto

Durante décadas, cuando escribías una dirección web y pulsabas Intro, tu navegador hacía algo que…

16 horas ago

Cómo Proyectar Cuándo Alcanzarás la Independencia Financiera

La independencia financiera es el punto en el que tus inversiones generan suficientes rendimientos para…

3 días ago

Cómo Elegir el Test de Hipótesis Correcto para tus Datos

Tienes dos grupos de datos y quieres saber si son estadísticamente distintos. O tienes una…

1 semana ago

Tuplas vs Listas en Python: parecen lo mismo, pero no

A primera vista, tuplas y listas son casi idénticas. Ambas guardan colecciones ordenadas de elementos.…

1 semana ago

Qué significa realmente “calidad de datos”

"Nuestros datos no tienen buena calidad." Escuchas esto constantemente en reuniones. El problema es que…

2 semanas ago

Cómo Detectar Pseudo-IDs y Data Leakage en el Constructor de Scorecards

El artículo Data Leakage en Credit Scoring explicó por qué este es el error más…

2 semanas ago

This website uses cookies.