logp

Логгирование безусловной плотности вероятностей для наивного классификатора Байеса

Описание

lp = logp(Mdl,tbl) возвращает логарифмическую безусловную плотность вероятностей (lp) наблюдений (строк) в tbl использование наивной модели Байеса Mdl. Можно использовать lp идентифицировать выбросы в обучающих данных.

пример

lp = logp(Mdl,X) возвращает логарифмическую безусловную плотность вероятностей наблюдений (строк) в X использование наивной модели Байеса Mdl.

Примеры

свернуть все

Вычислите безусловные плотности вероятностей наблюдений в выборке модели наивного классификатора Байеса.

Загрузите fisheriris набор данных. Создание X как числовая матрица, которая содержит четыре измерения лепестков для 150 ирисов. Создание Y как массив ячеек из векторов символов, который содержит соответствующие виды радужной оболочки.

load fisheriris
X = meas;
Y = species;

Обучите наивный классификатор Байеса с помощью предикторов X и метки классов Y. Рекомендуемая практика состоит в том, чтобы задать имена классов. fitcnb принимает, что каждый предиктор условно и нормально распределен.

Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'})
Mdl = 
  ClassificationNaiveBayes
              ResponseName: 'Y'
     CategoricalPredictors: []
                ClassNames: {'setosa'  'versicolor'  'virginica'}
            ScoreTransform: 'none'
           NumObservations: 150
         DistributionNames: {'normal'  'normal'  'normal'  'normal'}
    DistributionParameters: {3x4 cell}


  Properties, Methods

Mdl является обученным ClassificationNaiveBayes классификатор.

Вычислите безусловные плотности вероятностей наблюдений в выборке.

lp = logp(Mdl,X);

Идентифицируйте индексы наблюдений, которые имеют очень маленькие или очень большие логарифмические безусловные вероятности (ind). Отобразите ниже (L) и верхний (U) пороги, используемые методом определения выбросов.

[TF,L,U] = isoutlier(lp);
L
L = -6.9222
U
U = 3.0323
ind = find(TF)
ind = 4×1

    61
   118
   119
   132

Отобразите значения безусловных плотностей вероятностей выбросов.

lp(ind)
ans = 4×1

   -7.8995
   -8.4765
   -6.9854
   -7.8969

Все выбросы меньше, чем нижний порог определения выбросов.

Постройте график безусловных плотностей вероятностей.

histogram(lp)
hold on
xline(L,'k--')
hold off
xlabel('Log unconditional probability')
ylabel('Frequency')
title('Histogram: Log Unconditional Probability')

Figure contains an axes. The axes with title Histogram: Log Unconditional Probability contains 2 objects of type histogram, constantline.

Входные параметры

свернуть все

Наивная классификационная модель Байеса, заданная как ClassificationNaiveBayesобъект модели объект модели, возвращенный fitcnb или compact, соответственно.

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

Если вы обучаете Mdl используя выборочные данные, содержащуюся в таблице, затем входные данные для logp также должно быть в таблице.

Данные предиктора, заданные как числовая матрица.

Каждая строка X соответствует одному наблюдению (также известному как образец или пример), и каждый столбец соответствует одной переменной (также известной как функция). Переменные в столбцах X должно быть таким же, как переменные, которые обучили Mdl классификатор.

Длина Y и количество строк X должно быть равным.

Типы данных: double | single

Подробнее о

свернуть все

Безусловная плотность вероятностей

unconditional probability density предикторов является распределение плотности, маргинализованное по классам.

Другими словами, безусловная плотность вероятностей

P(X1,..,XP)=k=1KP(X1,..,XP,Y=k)=k=1KP(X1,..,XP|y=k)π(Y=k),

где π (Y = k) является классом априорной вероятности. Условное распределение данных, заданных для класса (P (X 1,.., XP | y = k)) и предшествующих классов вероятностных распределений, является опциями обучения (то есть вы задаете их при обучении классификатора).

Предварительная вероятность

prior probability класса является предполагаемой относительной частотой, с которой наблюдения из этого класса происходят в населении.

Введенный в R2014b