logp

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

Описание

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

пример

lp = logp(Mdl,X) возвращает журнал безусловная плотность вероятности наблюдений (строки) в X использование наивной модели Bayes 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 object. The axes object with title Histogram: Log Unconditional Probability contains 2 objects of type histogram, constantline.

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

свернуть все

Наивная Байесова модель классификации в виде ClassificationNaiveBayes объект модели или CompactClassificationNaiveBayes объект модели, возвращенный 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