Рубрики
Без рубрики

Сюжеты плотности в Python – комплексный обзор

Участок плотности используется для визуализации распределения непрерывной численной переменной в наборе данных. Это также известно как участки плотности ядра.

Автор оригинала: Pankaj Kumar.

Сюжеты плотности в Python – комплексный обзор

Участок плотности используется для визуализации распределения непрерывной численной переменной в наборе данных. Это также известно как Плотность ядра.

Это хорошая практика, чтобы хорошо узнать ваши данные, прежде чем начать применять какие-либо методы обучения машины.

В качестве хорошего ML-практикующего мы должны задавать такие вопросы, как:

  • Как выглядят наши данные?
  • Обычно это распространяется или имеет некоторую другую форму?
  • Алгоритмы, которые мы намереваемся применить к нашим данным, у него есть какие-либо основные предположения о распределении данных?

Регистрация таких вопросов сразу после того, как мы приобретеем наши данные, могут значительно улучшить результаты на более поздних этапах и сэкономить нам много времени.

Сюжеты, такие как гистограммы и графики плотности, служат нам способы ответить на упомянутые выше вопросы.

Зачем понимать гистограммы перед изучением графиков плотности?

Участок плотности очень аналогичен гистограмме. Мы визуализируем форму распределения с использованием гистограммы. Гистограммы могут быть созданы путем биния данных и сохранение количества наблюдений в каждом корзине. На гистограмме ось Y обычно обозначает количество корпусов, но также может быть представлено в количестве на единицу, также называемую как плотности.

Гистограмма с меньшим количеством контейнеров

Если мы увеличиваем количество контейнеров в нашей гистограмме, форма распределения кажется гладкой.

Гистограмма, имеющая больше числа мусорных веществ

Теперь представьте плавную непрерывную линию, проходящую через верхнюю часть каждого корзина, создавая контур формы нашего распределения. В результате мы получаем то, что мы называем сюжетом плотности.

Участок плотности с гистограммой

Понимание графика плотности

Мы можем подумать о разах плотности как участки сглаженных гистограмм, что сейчас довольно интуитивно понятно. Графики плотности в основном используют к Оценка плотности ERELEL Отказ Оценка плотности ядра позволяет более плавать распределения, сглаживая шум.

Участки плотности не подвержены количеству мусорных веществ, которые являются основным параметром, когда следует учитывать гистограммы, следовательно, позволяет нам лучше визуализировать распределение наших данных.

Таким образом, в резюме это так же, как гистограмма, но имеющая гладкую кривую, нарисованную в верхней части каждого корзина.

Существует несколько форм распределений в дикой природе. Некоторые из наиболее распространенных форм, которые мы бы очень могли столкнуться:

Некоторые формы распределений

Плотность сюжетов с Python

Мы можем построить график плотности во многих отношениях с использованием Python. Давайте посмотрим на несколько часто используемых методов.

1. Использование модуля Python Scipy.Stats

Scipy.Stats Модуль дает нам gaussian_kde класс, чтобы узнать плотность для данных данных.

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde

data = np.random.normal(10,3,100) # Generate Data
density = gaussian_kde(data)

x_vals = np.linspace(0,20,200) # Specifying the limits of our data
density.covariance_factor = lambda : .5 #Smoothing parameter

density._compute_covariance()
plt.plot(x_vals,density(x_vals))
plt.show()

Участок плотности с использованием Scipy

Мы меняем функцию COVARICE_FACTOR из gaussian_kde Класс и пропустите разные ценности, чтобы получить более гладкий участок. Не забудьте позвонить _compute_covariance После изменения функции.

2. Использование модуля kdeplot kdeplot

Meeborn Module предоставляет нам более простой способ выполнить вышеуказанную задачу с гораздо большей гибкостью.

import numpy as np
import seaborn as sb
import matplotlib.pyplot as plt

data = np.random.normal(10,3,300) #Generating data.
plt.figure(figsize = (5,5))
sb.kdeplot(data , bw = 0.5 , fill = True)
plt.show()
Участок плотности с использованием KDEPLOT

Морской kdeplot Требуется одноразовый массив данных или объект серии PandaS в качестве входного аргумента. BW Аргумент эквивалентен COVARICE_FACTOR из gaussian_kde класс продемонстрирован выше. Мы можем передать заполнить = Ложь Чтобы не заполнить область под кривой с цветом и просто построит кривую.

3. Использование функции графика Pandas

Пандас Сюжет Способ также может быть использован для участков плотности, предоставляя добрый в качестве входного аргумента к нему.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

x_values = np.random.random(10,3,300) #Generating Data
df = pd.DataFrame(x_values, columns = ['var_name'] ) #Converting array to pandas DataFrame
df.plot(kind = 'density)
Участок плотности с использованием Pandas

4. Использование Seborborn Distlot

Мы также можем использовать Meanborn расслабитель Метод для визуализации распределения непрерывных численных данных. Seanborn.distplot () Метод требует непреднамеренной переменной данных в качестве входного параметра, который может быть серии PandA, 1D-массив или список.

Некоторые важные аргументы, которые мы можем перейти к Seanborn.distplot () Чтобы настроить сюжет в соответствии с нашими потребностями:

  • HIST : ( Тип – Bool ) ли построить гистограмму или нет.
  • KDE : ( Тип – Bool) Будь то, чтобы построить оценку плотности ядра Гаусса.
  • BINS : ( Тип – номер ) Указание количества мусорных веществ на гистограмме.
  • hist_kws : (Тип – Dict) Дикто о аргументах ключевых слов для matplotlib.caxes.axes.hist ()
  • kde_kws : (Тип – Dict) Аргументы ключевых слов для kdeplot () прошел как словарь.
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sb

data = np.random.normal(10, 3, 1000) #Generating data randomly from a normal distribution.

sb.set_style("whitegrid")  # Setting style(Optional)
plt.figure(figsize = (10,5)) #Specify the size of figure we want(Optional)
sb.distplot(x = data  ,  bins = 10 , kde = True , color = 'teal'\
             , kde_kws=dict(linewidth = 4 , color = 'black'))
plt.show()
Плотность сюжет с использованием distllot 1

Чтобы узнать больше о Meanborn расслабитель Вы можете обратиться к этой статье на Seborborn Destlots Отказ

Заключение

Это приводит нас к концу статьи! Мы надеемся, что вы многое узнали о разных участках плотности сегодня. Вы можете прочитать эти статьи, чтобы узнать больше о библиотеках Pandas и Matplotlib, которые мы использовали в этой статье.