Spec-Zone.ru › pandas 0.25

pandas.DataFrame.plot.density

DataFrame.plot.density(self, bw_method=None, ind=None, **kwargs) [source]

Генерировать график оценки плотности ядра с использованием гауссовских ядер.

В статистике оценка плотности ядра (KDE) — это непараметрический способ оценки функции плотности вероятности (PDF) случайной величины. Эта функция использует гауссовские ядра и включает автоматическое определение ширины полосы.

Параметры:
bw_method : str, scalar or callable, optional

Метод, используемый для расчета ширины полосы оценки. Это может быть ‘scott’, ‘silverman’, скалярная константа или вызываемая функция. Если None (по умолчанию), используется ‘scott’. Смотрите scipy.stats.gaussian_kde для получения дополнительной информации.

ind : NumPy array or integer, optional

Точки оценки для рассчитанной PDF. Если None (по умолчанию), используются 1000 равномерно распределённых точек. Если ind является массивом NumPy, KDE оценивается в переданных точках. Если ind — целое число, используется ind количество равномерно распределённых точек.

**kwds : optional

Дополнительные ключевые аргументы документированы в pandas.%(this-datatype)s.plot().

Возвращаемые значения:
matplotlib.axes.Axes или массив numpy таких

См. также

scipy.stats.gaussian_kde
Представление оценки плотности ядра с использованием гауссовских ядер. Это функция, используемая внутри для оценки PDF.

Примеры

Взяв ряд точек, случайным образом взятых из неизвестного распределения, оценим его PDF с помощью KDE с автоматическим определением ширины полосы и нарисуем результаты, оценивая их в 1000 равномерно распределённых точках (по умолчанию):

>>> s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5])
>>> ax = s.plot.kde()
../../_images/pandas-DataFrame-plot-density-1.png

Можно указать скалярную ширину полосы. Использование малой ширины полосы может привести к переобучению, а использование большой ширины полосы может привести к недообучению:

>>> ax = s.plot.kde(bw_method=0.3)
../../_images/pandas-DataFrame-plot-density-2.png
>>> ax = s.plot.kde(bw_method=3)
../../_images/pandas-DataFrame-plot-density-3.png

Наконец, параметр ind определяет точки оценки для построения графиков рассчитанного PDF:

>>> ax = s.plot.kde(ind=[1, 2, 3, 4, 5])
../../_images/pandas-DataFrame-plot-density-4.png

Для DataFrame это работает аналогично:

>>> df = pd.DataFrame({
...     'x': [1, 2, 2.5, 3, 3.5, 4, 5],
...     'y': [4, 4, 4.5, 5, 5.5, 6, 6],
... })
>>> ax = df.plot.kde()
../../_images/pandas-DataFrame-plot-density-5.png

Можно указать скалярную ширину полосы. Использование малой ширины полосы может привести к переобучению, а использование большой ширины полосы может привести к недообучению:

>>> ax = df.plot.kde(bw_method=0.3)
../../_images/pandas-DataFrame-plot-density-6.png
>>> ax = df.plot.kde(bw_method=3)
../../_images/pandas-DataFrame-plot-density-7.png

Наконец, параметр ind определяет точки оценки для построения графиков рассчитанного PDF:

>>> ax = df.plot.kde(ind=[1, 2, 3, 4, 5, 6])
../../_images/pandas-DataFrame-plot-density-8.png

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.DataFrame.plot.density.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API