Regresiones lineales

Veamos un ejemplo de uso sencillo de la función seaborn.lmplot:

tips = sns.load_dataset("tips")

sns.lmplot(x = "total_bill", y = "tip", data = tips);

Relaciones lineales

La función, tal y como esperábamos, ha entrenado un sencillo modelo de regresión lineal y ha mostrado la recta de regresión y el intervalo de confianza del 95%. Todo esto nos permite tener una idea más clara de la relación entre las variables en análisis.

Podemos utilizar el parámetro hue para separar nuestro conjunto de datos según los valores que tome una variable categórica, y mostrar los puntos correspondientes a cada grupo con colores distintos y con una recta de regresión para cada uno de ellos:

sns.lmplot(x = "total_bill", y = "tip", data = tips, hue = "time");

Relaciones lineales

Podemos añadir una dimensión adicional mediante el uso de facets:

sns.lmplot(x = "total_bill", y = "tip", data = tips, hue = "time", col = "sex");

Relaciones lineales

...e incluso dos dimensiones adicionales mostrando un criterio de segmentación en columnas y otro en filas:

sns.lmplot(x = "total_bill", y = "tip", data = tips, hue = "time", col = "sex", row = "smoker");

Relaciones lineales

Como ya sabemos, en el uso de facets estamos un tanto limitados por la cardinalidad de las variables involucradas: si es excesivamente alta, el número de "facets" (gráficas) a generar haría que éstas se mostrasen demasiado pequeñas. Si solo estamos haciendo uso de facets en columnas, podemos limitar el número de columnas con el parámetro col_wrap:

sns.lmplot(x = "total_bill", y = "tip", data = tips, hue = "time", col = "day", col_wrap = 3);

Relaciones lineales