На этом шаге мы рассмотрим еще одну возможность, предоставляемую этой функцией.
Функция replog() предоставляет альтернативу точечной диаграмме - диаграмму со значениями оценок и доверительными интервалами. Для настройки этого режима используются параметры:
Построим диаграмму с медианной оценкой:
import matplotlib.pyplot as plt from numpy import median import seaborn as sns mpg = sns.load_dataset("mpg") iris = sns.load_dataset("iris") iris_mod = iris[iris["species"] == "setosa"] sns.regplot(x="sepal_length", y="sepal_width", data=iris_mod, x_estimator=median) plt.show()
Рис.1. Диаграмма с медианной оценкой
Пример работы с параметром x_bins:
import matplotlib.pyplot as plt import seaborn as sns mpg = sns.load_dataset("mpg") iris = sns.load_dataset("iris") iris_mod = iris[iris["species"] == "setosa"] x_bins = [5, 10, None] plt.figure(figsize=(15, 5)) for i, b in enumerate(x_bins): plt.subplot(1, len(x_bins), i + 1) plt.title(f"x_bins = {b}") sns.regplot(x="sepal_length", y="sepal_width", data=iris_mod, x_bins=b) plt.show()
Рис.2. Демонстрация работы с параметром x_bins функции regplot()
Пример работы с параметром x_ci:
import matplotlib.pyplot as plt import seaborn as sns mpg = sns.load_dataset("mpg") iris = sns.load_dataset("iris") iris_mod = iris[iris["species"] == "setosa"] x_ci = [50, 80, "sd"] plt.figure(figsize=(15, 5)) for i, xc in enumerate(x_ci): plt.subplot(1, len(x_ci), i + 1) plt.title(f"x_ci = {xc}") sns.regplot(x="sepal_length", y="sepal_width", data=iris_mod, x_ci=xc, x_bins=10) plt.show()
Рис.3. Демонстрация работы с параметром x_ci функции regplot()
Как вы уже могли заметить, вокруг линии регрессии есть область того же цвета, что и основная линия, но более светлого оттенка. Она представляет доверительный интервал, расчётом этой области управляют следующие параметры:
Посмотрим как будет выглядеть диаграмма с различными значениями ci:
import matplotlib.pyplot as plt import seaborn as sns mpg = sns.load_dataset("mpg") iris = sns.load_dataset("iris") iris_mod = iris[iris["species"] == "setosa"] ci = [50, 99, None] plt.figure(figsize=(15, 5)) for i, c in enumerate(ci): plt.subplot(1, len(ci), i + 1) plt.title(f"ci = {c}") sns.regplot(x="sepal_length", y="sepal_width", data=iris_mod, ci=c) plt.show()
Рис.4. Демонстрация работы с параметром ci функции regplot()
На следующем шаге мы закончим изучение этого вопроса.