Scatter plots: gráficas de dispersión
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
¿Qué es un scatter plot?
Un scatter plot te permite ver todo un dataset por medio de puntos. Un punto = una muestra. Cada color debe representar un conjunto. Ejemplo: Café (rojo), té (verde) y agua (azul).
¿Para que nos sirve?
Las gráficas de dispersión ayudan a hallar separaciones útiles en los datos. Por ejemplo, este dataset:
Los puntos rojos están muy separados de los demás.
Los verdes y azules están muy mezclados.
Para los siguientes ejemplos usaremos una base de datos de cardiología.
Son datos reales de pacientes, previamente limpios.
Obtenidos del instituto de cardiología de Cleveland.
Objetivo: tratar de separar pacientes sanos de enfermos.
Los datos ya están limpios los y contienen los headers. ☺
2.- Transformar a NumPy Recuerda que MatPlotLib utiliza NumPy para casi todas sus operaciones. Vamos a transformar el dataframe a una matriz de NumPy. Como los valores 1, 2 y 3 son “pacientes enfermos”, voy a usar un ciclo para hacer que los pacientes sean 0 o 1 (sano / enfermo).
Con una llamada a plt.Scatter(...) puedes generar el plot. No es muy interactivo que digamos así.
Para un científico de datos, un plano de dispersión es crucial. Un plano poco descriptivo no es útil. Es importante saber con qué datos lidias: ¿Qué significa este plano? ¿Por qué los datos están tan mezclados?
Primero, separemos los datos en dos clases: Sanos y enfermos. Para ello, usaremos “np.where()”
np.where marca: “dame los índices donde se cumpla cierta condición.” En este caso, donde datos_cardio[:,13] sea 0 y luego donde sea 1.
Luego, utiliza esos datos para hacer scatters separados (MatPlotLib los pondrá en el mismo plano).
Resultado:
Ahora cada gráfica de dispersión tiene su propio color.
Si hubiera varias categorías, podrías ponerlas una sobre otra.
¡Puedes incluso mejorar este código para ser más descriptivo!
Ahora mismo hemos usado variables para elegir las columnas.
Puedes obtener las columnas, y usar las variables para indicar que significa ese scatter plot.
La instrucción plt.xlabel(...) y plt.ylabel(...) te permiten poner texto en los ejes.
Resultado del código anterior:
Ahora dependiendo de las columnas que elijas todos los datos se ajustarán para que inspecciones los datos.