Home
» Power BI
»
Función Seaborn en Python para visualizar la distribución de una variable
Función Seaborn en Python para visualizar la distribución de una variable
Cuando se trabaja con un conjunto de datos que se compone de múltiples variables, es mejor poder entender cómo difieren e interactúan entre sí. En este tutorial, demostraré cómo puede usar la función Seaborn en Python para visualizar alternativas a la distribución de una variable. Puedes ver el video completo de este tutorial en la parte inferior de este blog.
Demostraré esto en el conjunto de datos de MPG, que está disponible en Seaborn. Entonces, sigamos adelante e importemos los paquetes que necesitemos, así como los datos que necesitemos. Vamos a ver la distribución de la variable MPG aquí y cómo varían. Las dos formas comunes de hacerlo son el histograma y el diagrama de caja .
Así que voy a usar la función displot (DIS para distribución). Luego, necesito especificar qué conjunto de datos es y qué variable vamos a poner en el eje X. Y con eso, tenemos la distribución.
Esto es bastante bueno. Esto es muy fácil de ver toda la distribución y la forma. Sin embargo, un par de deficiencias con esta visualización de la distribución. Una es que la cantidad de contenedores que estamos usando es posiblemente arbitraria. La otra cosa es que no necesariamente podemos saber instantáneamente cuál es la media de la variable.
Lo bueno de Seaborn es que una vez que configuro qué variable quiero, dónde y qué conjunto de datos estoy usando, es realmente fácil de conectar y hacer una nueva visualización. Ahora vamos a ir a la gráfica de caja. Boxplot no usa bins.
La idea aquí es que podemos ver el valor del cuartil con mucha claridad, específicamente la mediana, y vemos los otros valores del cuartil. Vemos que hay un valor atípico, y esta es una trama muy precisa. El diagrama de caja del problema es que es preciso con cosas que, en general, a muchos usuarios comerciales probablemente no les importen.
Por lo tanto, esta trama es un poco difícil para que las personas que no son estadísticas realmente obtengan mucho valor. Y nuevamente, está agregando los datos, por lo que estamos perdiendo muchos detalles. Es difícil saber exactamente cómo se ve esto. Podemos ver que hay un valor atípico. Podemos ver que la mayoría de los valores están aquí. El histograma nos da una forma más intuitiva de verlo.
Ambos son buenos argumentos. Ambos tienen sus propósitos. Veamos algunas alternativas usando Seaborn para visualizar. Nos quedaremos con MPG para la distribución de esa variable.
De forma similar al diagrama de caja, puede ver aquí que la mediana está claramente marcada. También vemos el rango de cuartiles y podemos ver mejor cuál es la distribución general. Esto también es como un histograma. Se llama gráfico de estimación de densidad del núcleo o gráfico KDE. Es una versión suave del histograma. No estamos utilizando ningún agrupamiento arbitrario. Todo se suaviza en un rango continuo aquí.
Esta es una especie de híbrido de estos dos enfoques y realmente soluciona algunas de las deficiencias. Sin embargo, dependiendo de su audiencia, es posible que realmente tengan dificultades para ver esto. Es posible que no estén acostumbrados, pero tiene algunos beneficios en comparación con los enfoques tradicionales.
En este enfoque, ya no estamos agregando los datos. Se traza cada punto individual. Esto toma elementos del diagrama de dispersión, ¿verdad? Si piensa en un diagrama de dispersión, representamos cada punto individual en las coordenadas X e Y.
Por último, tenemos el stripplot . Lo que estamos haciendo aquí es tomar esa distribución y la estamos dispersando aleatoriamente. Este es un proceso aleatorio. Ya no estamos tratando de darle forma a esa distribución. El problema con esto es que tenemos todos estos grupos chocando entre sí, por lo que podría no ser bueno dependiendo de lo que estés tratando de hacer. Tal vez quieras colorearlos por grupo o algo así, así que hay una opción para eso.
Podemos cambiar el jitter a .25 y ver que a medida que aumentamos el jitter, estos puntos se dispersan un poco más.
Sin embargo, cada vez que los ejecute, se verán ligeramente diferentes. Entonces, si desea deshacerse de eso y hacerlo igual cada vez, puede importar numpy como np . Lo que esto hace es lo que se llama establecer una semilla aleatoria.
Cada vez que ejecuto algo que tiene que ver con números aleatorios, usará los mismos números aleatorios. Las cosas no cambian aleatoriamente cuando lo vuelves a ejecutar. Esto podría ser bueno para cualquier tipo de simulación que esté haciendo, lo que también ocurre mucho en la ciencia de datos y el análisis con esta visualización. Así que ahora, cada vez que ejecute este diagrama, obtendremos el mismo aspecto.
También puedo agregar aquí el origen Y, y ahora vemos que estamos creando una distribución bivariante. Tomamos la distribución del kilometraje y la segmentamos por origen.
Estas son alternativas a la visualización de distribuciones de una variable. Todos tienen sus pros y sus contras. Esto no quiere decir que nunca use el diagrama de caja o el histograma, pero solo dice que aquí hay algunas otras opciones, dependiendo de lo que esté tratando de mostrar.
Todos son tan fáciles de hacer como cualquiera de los otros cuando usamos la función Seaborn en Python. Si desea saber más sobre Python , consulte los enlaces a continuación.