No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Parámetros más usados con Seaborn

12/18
Recursos

Seaborn tiene una gran variedad de gráficos, pero también tiene ciertos parámetros para cada gráfico, vamos a ver cuáles son los más comunes:

Parámetros más comunes al usar Seaborn

Cada uno de los gráficos utiliza ciertos parámetros que tu podrás gestionar. Empieza importando las librerías y el Dataset que vas a usar.

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset('tips') ---> Dataset de seaborn
tips

Puedes usar ’ ; ’ al final de la linea de código para remplazar el 'plt.show()'
FELIX DAVID CORDOVA GARCIA, Platzinauta

  • Gráfico de frecuencia para el total de la cuenta
Tipo de gráfica Dataset X
.displot tips ‘total_bill’

Pasos para usar los parámetros

sns.displot(data= tips, x= 'total_bill');
frecuencia.JPG
  • Agregamos una variable ‘Y’, pero seaborn reconoce que en gráfico de frecuencias no es la mejor opción y lo adapta automáticamente.
sns.displot(data= tips, x= 'total_bill', y= 'tip');
variable_y.JPG
  • Hacer agrupamiento por una variable hue
sns.displot(data= tips, x= 'total_bill', y= 'tip', hue = 'sex');
agrupamiento.JPG
  • Cambiar el tipo de gráfica kind
sns.displot(data= tips, x= 'total_bill', hue = 'sex', kind = 'kde'); 
cambiar_grafica.JPG
  • Quitar la legenda, cambiar la paleta de colores y su transparencia
sns.displot(data= tips, x= 'total_bill', hue = 'sex', kind = 'kde', legend= False, palette='dark', alpha = .5);
alpha.JPG

Aportes 36

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

con este metodo puedes ver los datasets disponibles en seaborn:
sns.get_dataset_names()
–>[‘anagrams’,
‘anscombe’,
‘attention’,
‘brain_networks’,
‘car_crashes’,
‘diamonds’,
‘dots’,
‘exercise’,
‘flights’,
‘fmri’,
‘gammas’,
‘geyser’,
‘iris’,
‘mpg’,
‘penguins’,
‘planets’,
‘taxis’,
‘tips’,
‘titanic’]

otros ejemplos

¿Jugaste mucho con las variables en la clase anterior y te quedo todo raro?

sns.reset_orig()

Seaborn 🌊


If you wish to reset the style, you must write this:
sns.reset_orig()

PRO TIP: hue es una manera de separar por alguna categoría nuestra gráfica.
Ejemplo: con solo añadir hue='smoker', podemos ver de un vistazo que los “No fumadores” dan más propina (el vicio cuesta):

sns.displot(data=tips, x='total_bill',y='tip',hue='smoker')

Me quedo un gráfico loco!!

En cualquier momento creo un agujero negro, jajajaj

Si desean que las imágenes salgan más nítidas, pueden aumentar el dpi (densidad de píxeles) usando la siguiente instrucción:

sns.set(rc={"figure.dpi":300})

De preferencia la podrían colocar después de importar la librería

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(rc={"figure.dpi":300})

Parametros mas usados en Seaborn

Seaborn cuenta con un conjunto de dataFrame que trae por defecto. Usaremos el dataset ‘tips’ para mostrar los diferentes parametros con el que podemos configurar una grafica

  • Importamos las librerias necesarias y llamamos al dataset
import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset('tips')
tips ---> #dataset de las propinas en un restaurante
  • Grafico de frecuencia para el total de la cuenta
sns.displot(data=tips, x='total_bill')
plt.show()
  • Al agregar otra variable, seaborn reconoce que un grafico de frecuencia no es el adecuado por lo que busca el que mejor se adecue.
sns.displot(data=tips, x='total_bill', y='tip')
plt.show()
  • Agregar una variable de segmentacion mediante hue
sns.displot(data=tips, x='total_bill', y='tip', hue='sex')
plt.show()
  • Cambiar el tipo de grafico, mostrar la leyenda, cambiar la paleta de colores y la transparencia de la grafica
#kind: cambia el tipo de grafico
#legend: muestra la leyenda en el grafico
#palette: cambia el color de las graficas
#alpha: cambia la transparencia de la grafica
sns.displot(data=tips, x='total_bill', hue='sex', kind='kde', legend=True, palette='dark', alpha=0.5)
plt.show()

Aún no vemos la punta del iceberg, pero en mi humilde opinión, Seaborn es capaz de hacer las gráficas más espectaculares.
Animo a todos a dar un vistazo a su galería oficial:
https://seaborn.pydata.org/examples/index.html
Con estas herramientas da gusto trabajar, muchachos.
¡Un saludo, amigos! 😃

Cansado de escribir plt.show()?, pues ahora los podemos remplazarlo por ; al final. Por ejemplo:

sns.displot(data=tips, x="total_bill", hue="sex", kind="kde");

Para ver los datasets en seaborn.

sns.get_dataset_names()

Galería de algunos tipos de gráficos de Seaborn. Cada imagen de tipo de gráfico es un link al código referente.
https://seaborn.pydata.org/examples/index.html

Información resumida de esta clase
#EstudiantesDePlatzi

  • Seaborn tiene ciertos datos pre cargados que podemos usar para practicar

  • El primer parámetro que usaremos es el de la data en donde especificamos que dataset estaremos usando para graficar

  • El parámetro x lo usamos para definir los datos que estarán en el eje x

  • Usamos el parámetro y para definir la variable que estará en este eje

  • Seaborn nos sugiere gráficos

  • Con el parámetro hue puedo hacer un desglose o agrupamiento de otra variable

  • Parámetros principales: La data, eje x, eje y, y como lo voy a segmentar con hue

  • Igualmente, aquí tenemos el parámetro legend, palette y alpha

Para los que están trabajando desde VScode u otro y no pueden acceder a los datos del ejemplo:

from seaborn import load_dataset
tips = sns.load_dataset ("tips")
print (tips)


Combinar varias vistas de los datos

jointplot() traza la relación o distribución conjunta de dos variables mientras agrega ejes marginales que muestran la distribución univariada de cada una por separado:

sns.jointplot(data=tips, x='total_bill', y='tip', hue='sex')
plt.show()
A la fecha septiembre/2024, hay funciones que ya no están vigentes * No hay sns.distplot, en su lugar es sns.histplot y sns.kdeplot * No hay kind, para lograr lo mismo, se debe usar el tipo de gráfico sns.kdeplot y no se incluye kind dentro del paréntesis

No imagine que el trabajo con seaborn fuera tan sencillo. Es lo bueno se seguir aprendiendo lo que te gusta.

Por alguna razon colab no tiene registro de ningun dataset (`sns.get_dataset_names() => []`). Pueden usar `tips= pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv')` para cargar los datasets, reemplazan `tips `por el nombre del dataset.

En estadística, KDE significa Kernel Density Estimation, que es una técnica para estimar la distribución de probabilidad de una variable continua.

Una KDE se basa en la idea de aproximar la distribución de probabilidad con una función de densidad suave. Esta función de densidad se denomina función de densidad kernel.

La función de densidad kernel se define como la suma de una serie de funciones de kernel, cada una centrada en un punto de los datos. Las funciones de kernel más comunes son la función de Gauss y la función de Epanechnikov.

La elección de la función de kernel depende de la distribución de probabilidad que se esté estimando. Por ejemplo, si la distribución de probabilidad es simétrica, se puede utilizar la función de Gauss. Si la distribución de probabilidad es asimétrica, se puede utilizar la función de Epanechnikov.

Las KDE se utilizan en una amplia gama de aplicaciones, incluyendo:

  • Análisis de datos: Las KDE se pueden utilizar para describir la distribución de probabilidad de una variable continua.
  • Visualización de datos: Las KDE se pueden utilizar para crear gráficos que muestran la distribución de probabilidad de una variable continua.
  • Aprendizaje automático: Las KDE se pueden utilizar para entrenar modelos de aprendizaje automático.

En el contexto de Seaborn, la abreviatura kde se utiliza para referirse a una distribución de densidad kernel. Por ejemplo, la función sns.kdeplot() se utiliza para trazar una distribución de densidad kernel.

Por lo tanto, la respuesta a la pregunta “¿Qué significa KDE?” es “Kernel Density Estimation”.
(bard told me)

Apuntes

Hola, les comparto mis apuntes de ésta clase:

sns.displot(data=tips, x='total_bill')
sns.displot(data=tips, x='total_bill', y='tip')
sns.displot(data=tips, x='total_bill', y='tip', hue='sex')
sns.displot(data=tips,
            x='total_bill',
            hue='sex',
            kind='kde',
            legend=True,
            palette='dark',
            alpha = 0.25)

Otro gráfico particular que me resultó jejejeje

12. Parámetros más usados con Seaborn

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset('tips')
tips

sns.displot(data=tips, x='total_bill');

sns.displot(data=tips, x='total_bill',y='tip');

sns.displot(data=tips, x='total_bill',hue='sex'); # hue = desglose por otra variable que queramos

sns.displot(data=tips, x='total_bill',hue='sex',kind='kde',legend=True,palette='dark',alpha=0.5);

Cuando se quiere mostrar de forma stack las columnas

sns.displot(data = tips, x = 'tip', hue ='smoker', kind ='ecdf', stat = 'count' )
plt.show()
sns.displot(data = tips, x = 'tip', hue ='day', kind ='kde', fill = True )
plt.show()

Que buena explicacion de parametros.

sns.displot(data=tips, x='total_bill', hue='sex',kind='kde',legend=True, palette='dark',alpha=.25)
plt.show()

Si a alguien le pasa esto:

debe actualiza la versión de seaborn a la 0.11.0.

# Es con en comando
py -m pip install seaborn==0.11.0

Para verificar la version del seaborn conla que estas trabajando usa el comando :

sns.__version__

seaborn_palette=() Te muestra la paleta de colores disponibles

****notas de la clase ****

Seaborn tiene una gran variedad de gráficos, pero también tiene ciertos parámetros para cada gráfico, vamos a ver cuáles son los más comunes:
Parámetros más comunes al usar Seaborn Cada uno de los gráficos utiliza ciertos parámetros que tu podrás gestionar. Empieza importando las librerías y el Dataset que vas a usar.
________________________________________
[ ]
import matplotlib.pyplot as plt
import seaborn as sns
________________________________________
[ ]
tips = sns.load_dataset("tips")
________________________________________
[ ]
tips
#aca con tips generamos un dataset con filas y columnas de que tantas propinas dan los 
#clientes de un restaurante 
________________________________________
[ ]
sns.get_dataset_names()
['anagrams',
 'anscombe',
 'attention',
 'brain_networks',
 'car_crashes',
 'diamonds',
 'dots',
 'exercise',
 'flights',
 'fmri',
 'geyser',
 'glue',
 'healthexp',
 'iris',
 'mpg',
 'penguins',
 'planets',
 'seaice',
 'taxis',
 'tips',
 'titanic']
________________________________________
[ ]
sns.displot(data=tips,x="total_bill")
plt.show()
#con displot genero esta grafica, identificando em el eje x el label
________________________________________
[ ]
sns.displot(data=tips,x="total_bill",y="tip")
plt.show()
#al agregarle el eje y me genera una nueva grafica para poder hacer la relacion 
________________________________________
[ ]
sns.displot(data=tips,x="total_bill",y="tip",hue="sex")
plt.show()
#con la fucion(hue), me hace un agrupamiento por otra variable en este caso (sex)
#me da la distrubucion entre x,y (total de bip y tip), pero me lo separa si era femenino o masculino
________________________________________
[ ]
sns.displot(data=tips,x="total_bill",hue="sex")
plt.show()
#con un histograma lo podemos analisar mucho mejor 
________________________________________
[ ]
sns.displot(data=tips,x="total_bill",hue="sex",kind="kde")
plt.show()
#con la funcion (kind) me dice con que tipo de grafico quiero trabajar 
#al ser un histograma puedo trabajar con (kde) que es la misma distribucion pero por dencidad 
#esto se hace simplemente cambiendo uno de los parametros en este caso (kde)
________________________________________
[ ]
sns.displot(data=tips,x="total_bill",hue="sex",kind="kde",legend=False)
plt.show()
#con la funcion (legend=False), no me muetra la leyenda 
________________________________________
[ ]
sns.displot(data=tips,x="total_bill",hue="sex",kind="kde",legend=True)
plt.show()
#a comparacion de (legend=True) que si la muetra, esto funciona para todos los graficos  
________________________________________
[ ]
sns.displot(data=tips,x="total_bill",hue="sex",kind="kde",legend=True,palette="dark",alpha=.25)
plt.show()
#tambien puedo cambiar la tonalidad de los colores con la funcion (palette), que viomos en clases anteriores
#si queremos algo mas transparente en mi grafica con (alpha)lo poedemos hacer 
#asi de sencilo puedo trabajar parametro por parametro en una frafica, personalizandolo a mi gusto 
________________________________________
así de fácil es trabajar con Seaborn. hay unos parámetros que voy a usar constantemente, como de dónde voy a sacar mis datos, que va a estar en el eje x o en el eje y, como lo voy a separar o como lo voy a segmentar. hay otros parámetros la leyenda, colores, el Alpha, palette y entre otros


No sabía que Seaborn era tan amigable. Estoy enamorado!!!

Quede enamorado con el comando “hue”. De verdad es que es un gran descubrimiento para mi.

El sitio se Seaborn esta super útil y se puede encontrar mucha información interesante y tutoriales. ME parece buena idea explorarlo para indagar un poco más en la herramienta.
https://seaborn.pydata.org

wow qué genial será esta herramienta para presentar gráficos

La estructura de seaborn me parece más intuitiva y familiar a Rstudio y me resulta genial :)