Шаг 134.
Язык Python. Визуализация данных. Библиотека Seaborn. Визуализация модели линейной регрессии. Функция regplot() (еще продолжение)

    На этом шаге мы рассмотрим еще одну возможность, предоставляемую этой функцией.

    Функция replog() предоставляет альтернативу точечной диаграмме - диаграмму со значениями оценок и доверительными интервалами. Для настройки этого режима используются параметры:

x_estimator: функция, optional
Функция для вычисления значения оценки.

x_bins: int или vector, optional
Определяет количество групп, на которые будет разбито исходное множество значений.

x_ci: 'ci', 'sd', int в диапазоне [0, 100] или None, optional
Размер доверительного интервала. Если значение равно 'sd', то вместо доверительного интервала будет использоваться стандартное отклонение.

    Построим диаграмму с медианной оценкой:

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: int в диапазоне [0, 100] или None, optional
Размер доверительного интервала.

n_boot: int, optional
Количество образцов для оценки ci.

    Посмотрим как будет выглядеть диаграмма с различными значениями 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()

    На следующем шаге мы закончим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг