Trazar una matriz con python-pandas

Trazar una matriz con python-pandas

Nota: Este artículo es un artículo traducido de

Visualice datos de aprendizaje automático en Python con Pandas-Machine Learning Mastery , el título original es Visualizar datos de aprendizaje automático en Python con Pandas (el uso de pandas en Python para analizar visualmente los datos de aprendizaje automático), el autor significa que estamos utilizando algoritmos de aprendizaje automático para Al analizar los datos, primero debemos entender los datos, y la forma más rápida de comprender los datos es la visualización. Pero el método utilizado por el autor para la visualización es común a muchos datos, y se utiliza la matriz gráfica de varios gráficos, como el histograma, la matriz de gráficos de dispersión, etc. Este artículo presenta cómo usar pandas para hacer varios diagramas de matriz basados ​​en el análisis del autor.

(1) Datos

Los datos son el conjunto de datos de PimaIndians. El código del autor contiene la URL de la fuente de datos, es decir, el conjunto de datos de diabetes de los indios Pima. El número de muestras es 768, y las variables incluyen:

Preg: tiempos de embarazo

Plas: la concentración de glucosa en plasma en la prueba oral de tolerancia a la glucosa es de 2 horas

Pres: presión arterial diastólica (mm Hg)

Piel: espesor de pliegue de tríceps (mm)

prueba: 2 horas de insulina sérica (μU / ml)

masa: índice de masa corporal (kg / (altura (m)) ^ 2)

pedi: función del linaje de la diabetes

edad: edad (años)

clase: variable de clase (0 o 1), estimada como género.

(2) Histogramas (matriz de histogramas)
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] #设置变量名
data = pandas.read_csv(url, names=names)  #采用pandas读取csv数据
data.hist()
plt.show()

Sin embargo, vemos que los gráficos no están coordinados, y hay casos en que las variables y las coordenadas se superponen. Podemos ajustar los parámetros de hist () para resolver, incluido el ajuste de los tamaños de etiqueta del eje x y del eje y ((xlabelsize, ylabelsize), todo el diseño de los gráficos El ajuste de tamaño figsize:

data.hist(xlabelsize=7,ylabelsize=7,figsize=(8,6)) #

plt.show()

Puede ver la distribución de cada variable. Entre ellas, la masa, el plasma y la presión tienen una distribución normal determinada. Además de la clase, están básicamente sesgadas a la izquierda.

(3) Gráficos de densidad (matriz de gráficos de densidad)

data.plot(kind='density', subplots=True, layout=(3,3), sharex=False,fontsize=8,figsize=(8,6))
plt.show()

Después de que se emite el código original, todavía hay cierta superposición, aquí se agrega el tamaño de fuente del texto de coordenadas en la figura y el tamaño de diseño general.

(4) Parcelas de caja y bigotes

data.plot(kind='box', subplots=True, layout=(3,3), sharex=False, sharey=False, fontsize=8,figsize=(8,6))
plt.show()

Similar a (3), observe aquí que el eje xy el eje y se pueden compartir, utilizando los comandos sharex = False, sharey = False.

(5) Gráfico de matriz de correlación

import numpy
correlations = data.corr()  #计算变量之间的相关系数矩阵
# plot correlation matrix
fig = plt.figure() #调用figure创建一个绘图对象
ax = fig.add_subplot(111)
cax = ax.matshow(correlations, vmin=-1, vmax=1)  #绘制热力图,从-1到1
fig.colorbar(cax)  #将matshow生成热力图设置为颜色渐变条
ticks = numpy.arange(0,9,1) #生成0-9,步长为1
ax.set_xticks(ticks)  #生成刻度
ax.set_yticks(ticks)
ax.set_xticklabels(names) #生成x轴标签
ax.set_yticklabels(names)
plt.show()

Cuanto más oscuro es el color, más fuerte es la correlación entre los dos.

(6) Matriz de diagrama de dispersión

from pandas.tools.plotting import scatter_matrix
scatter_matrix(data,figsize=(10,10))  
plt.show()
30 artículos originales publicados · elogiados 74 · 230,000 vistas +

Supongo que te gusta

Origin blog.csdn.net/ruiyiin/article/details/77141979
Recomendado
Clasificación