Visualización de datos multidimensionales de Python

La visualización de datos multidimensionales (por encima de las 3 dimensiones) no es fácil de lograr con los métodos convencionales. Este artículo presenta varios métodos para mostrar datos multidimensionales en un plano bidimensional utilizando Python.

1. Datos

Tome el clásico conjunto de datos de flores de iris como ejemplo (descarga de datos originales: CSDN o GitHub ).
Los siguientes son 5 piezas de datos formateados, para facilitar la visualización visual posterior (descarga del conjunto de datos de procesamiento de formato: GitHub ).

Longitud del sépalo Ancho del sépalo Longitud del pétalo Ancho del pétalo Especies
6.4 2.8 5,6 2.2 virginica
5 2.3 3.3 1 versicolor
4.9 2.5 4.5 1,7 virginica
4.9 3.1 1,5 0,1 sedoso
5.7 3.8 1,7 0,3 sedoso

Las primeras 4 columnas son las 4 características del iris y la última columna son las 3 clasificaciones del iris.

2. Visualización de datos

2.1 Coordenadas paralelas

Cada línea vertical en la figura representa una característica. Los datos en una fila en la tabla se representan como una línea discontinua en la figura, y las líneas en diferentes colores representan diferentes categorías.

import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import parallel_coordinates

data = pd.read_csv('D:\\iris.csv')

plt.figure('多维度-parallel_coordinates')
plt.title('parallel_coordinates')
parallel_coordinates(data, 'Species', color=['blue', 'green', 'red', 'yellow'])
plt.show()

Coordenadas paralelas

2.2 Gráfico de radar RadViz

Las 4 características corresponden a 4 puntos en el círculo unitario, y cada punto disperso en el círculo representa una fila de datos en la tabla. Se puede imaginar que hay 4 líneas en cada punto disperso conectado a los 4 puntos característicos, y el valor propio (normalizado) representa la fuerza ejercida por las 4 líneas en los puntos dispersos, y la posición de cada punto es exactamente Hágalo equilibrado por la fuerza.

import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import radviz

data = pd.read_csv('D:\\iris.csv')

plt.figure('多维度-radviz')
plt.title('radviz')
radviz(data, 'Species', color=['blue', 'green', 'red', 'yellow'])
plt.show()

RadViz

2.3 Curva de Andrews

Los valores propios se convierten en coeficientes de secuencia de Fourier y las curvas de diferentes colores representan diferentes categorías.

import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import andrews_curves

data = pd.read_csv('D:\\iris.csv')

plt.figure('多维度-andrews_curves')
plt.title('andrews_curves')
andrews_curves(data, 'Species', color=['blue', 'green', 'red', 'yellow'])
plt.show()

Curva de Andrews

2.4 Diagrama de matriz

Representa la relación entre diferentes características.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

data = pd.read_csv('D:\\iris.csv')

sns.pairplot(data, hue='Species')
plt.show()

Diagrama de matriz

2.5 Mapa de calor del coeficiente de correlación

Indica la correlación entre diferentes características (coeficiente de correlación de Pearson). Cuanto mayor es el valor, mayor es la correlación.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

data = pd.read_csv('D:\\iris.csv')

corr = data.corr()
sns.heatmap(corr, annot=True)
plt.show()

Mapa de calor del coeficiente de correlación

3. Referencias

  1. Método de visualización de datos multidimensional, solo lea este
  2. Visualización de datos de Python, solo lea este
  3. Visualización de datos basada en Python: de unidimensional a multidimensional

Bienvenido a seguir mi cuenta pública de WeChat:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/michael_f2008/article/details/107494667
Recomendado
Clasificación