nacido en el mar | Gráficos de regresión

Los gráficos de regresión en Seaborn están destinados principalmente a agregar una guía visual que ayude a enfatizar los patrones en un conjunto de datos durante los análisis de datos exploratorios. Los gráficos de regresión, como sugiere el nombre, crean una línea de regresión entre 2 parámetros y ayudan a visualizar sus relaciones lineales. Este artículo trata sobre ese tipo de tramas en seaborn y muestra las formas en que se pueden adaptar para cambiar el tamaño, el aspecto, la relación, etc. de dichas tramas.

Seaborn no es solo una biblioteca de visualización, sino también un proveedor de conjuntos de datos integrados. Aquí, trabajaremos con uno de esos conjuntos de datos en seaborn llamado ‘consejos’. El conjunto de datos de propinas contiene información sobre las personas que probablemente comieron en el restaurante y si dejaron una propina o no. También proporciona información sobre el sexo de las personas, si fuman, el día, la hora, etc.

Echemos un vistazo al conjunto de datos primero antes de comenzar con los gráficos de regresión.

Cargue el conjunto de datos

Python3

# import the library
import seaborn as sns
  
# load the dataset
dataset = sns.load_dataset('tips')
  
# the first five entries of the dataset
dataset.head()

Producción

Ahora comencemos con las gráficas de regresión en seaborn.
Los gráficos de regresión en seaborn se pueden implementar fácilmente con la ayuda de la función lmplot(). lmplot() puede entenderse como una función que básicamente crea un diagrama de modelo lineal. lmplot() crea un diagrama de regresión lineal muy simple. Crea un diagrama de dispersión con un ajuste lineal encima.
Gráfico lineal simple

Python3

sns.set_style('whitegrid')
sns.lmplot(x ='total_bill', y ='tip', data = dataset)

Producción

Explicación
Los parámetros x e y se especifican para proporcionar valores para los ejes x e y. sns.set_style() se usa para tener una cuadrícula en el fondo en lugar de un fondo blanco predeterminado. El parámetro de datos se utiliza para especificar la fuente de información para dibujar los gráficos.
Gráfico lineal con parámetros adicionales

Python3

sns.set_style('whitegrid')
sns.lmplot(x ='total_bill', y ='tip', data = dataset, 
           hue ='sex', markers =['o', 'v'])

Producción

Explicación
Para tener una mejor capacidad de análisis utilizando estos gráficos, podemos especificar el matiz para tener una separación categórica en nuestro gráfico, así como usar marcadores que provienen de los símbolos de marcador de matplotlib. Como tenemos dos categorías separadas, debemos pasar una lista de símbolos al especificar el marcador.
Configuración del tamaño y el color de la trama

Python3

sns.set_style('whitegrid')
sns.lmplot(x ='total_bill', y ='tip', data = dataset, hue ='sex', 
           markers =['o', 'v'], scatter_kws ={'s':100}, 
           palette ='plasma')

Producción

Explicación
En este ejemplo, lo que Seaborn está haciendo es llamar indirectamente a los parámetros de matplotlib para afectar los diagramas de dispersión. Especificamos un parámetro llamado scatter_kws. Debemos tener en cuenta que el parámetro scatter_kws cambia el tamaño solo de los gráficos de dispersión y no de las líneas de regresión. Las líneas de regresión permanecen intactas. También usamos el parámetro de la paleta para cambiar el color de la trama. El resto de las cosas siguen siendo las mismas que se explican en el primer ejemplo.
Visualización de varias parcelas

Python3

sns.lmplot(x ='total_bill', y ='tip', data = dataset, 
           col ='sex', row ='time', hue ='smoker')

Producción

Explicación
En el código anterior, dibujamos varias parcelas especificando una separación con la ayuda de filas y columnas. Cada fila contiene los gráficos de propinas frente a la factura total para los diferentes tiempos especificados en el conjunto de datos. Cada columna contiene los gráficos de propinas frente a la factura total para los diferentes géneros. Se realiza una separación adicional especificando el parámetro de matiz en función de si la persona fuma.
Tamaño y relación de aspecto de las parcelas

Python3

sns.lmplot(x ='total_bill', y ='tip', data = dataset, col ='sex', 
           row ='time', hue ='smoker', aspect = 0.6, 
           size = 4, palette ='coolwarm')

Producción

Explicación
Supongamos que tenemos una gran cantidad de gráficos en la salida, necesitamos establecer el tamaño y el aspecto para poder visualizarlo mejor.
aspecto: escalar, opcional especifica la relación de aspecto de cada faceta, de modo que «aspecto * altura» da el ancho de cada faceta en pulgadas.

Publicación traducida automáticamente

Artículo escrito por Choco_Chips y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *