Un gráfico de condicionamiento, co-gráfico o gráfico de subconjunto es un gráfico de dispersión de dos variables cuando se condiciona en una tercera variable. La tercera variable se llama variable condicionante. Esta variable puede tener ambos valores continuos o categóricos. En la variable continua, creamos subconjuntos dividiéndolos en un rango de valores más pequeño. En las variables categóricas, los subconjuntos se crean en función de diferentes categorías.
Tomemos tres variables X, Y y Z. Sea Z la variable que dividimos en los k grupos. Aquí, hay muchas maneras en las que se puede formar un grupo, tales como:
- Al dividir los datos en grupos de igual tamaño de k.
- Al dividir los datos en diferentes grupos sobre la base del gráfico de dispersión.
- Al dividir el rango de puntos de datos en valores iguales.
- Los datos categóricos tienen una agrupación natural sobre la base de diferentes categorías del marco de datos.
Luego, trazamos una array de n filas y m columnas donde n*m >= k. Cada conjunto de (fila, columna) representa un gráfico de dispersión individual, en el que cada gráfico de dispersión consta de los siguientes componentes.
- Eje vertical : variable Y
- Eje Horizontal : Variable X
donde, se utilizan los puntos del grupo correspondiente a la fila i ya la columna j.
El diagrama de condicionamiento proporciona la respuesta a las siguientes preguntas:
- ¿Hay alguna relación entre las dos variables?
- Si existe una relación entonces, ¿la naturaleza de la relación depende de la tercera variable?
- ¿Los diferentes grupos en los datos se comportan de manera similar?
- ¿Hay valores atípicos en los datos?
Implementación
Python3
# code % matplotlib inline import numpy as np import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # load training file for titanic dataset titanic_dataset =pd.read_csv('train.csv') # head of dataset titanic_dataset.head() # conditioning plot on the basis of categorical variables sns.lmplot(x='Age', y ='Fare',hue='Survived', col ='Sex',data=titanic_dataset) sns.lmplot(x='Age', y ='Fare',hue='Survived', col ='Pclass',data=titanic_dataset) # conditioning plot on the basis of continuous variables df1, df2 = titanic_dataset.loc[titanic_dataset['Age'] < 20 ] , titanic_dataset.loc[titanic_dataset['Age'] >= 20 ] lm = sns.lmplot(x='Parch', y ='Fare',hue='Survived',data=df1) ax1 =lm.axes ax1=plt.gca() ax1.set_title('Age < 20') lm_2 = sns.lmplot(x='Parch', y ='Fare',hue='Survived',data=df2) ax2 =lm_2.axes ax2=plt.gca() ax2.set_title('Age >= 20')