logP

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

Описание

lp = logP(Mdl,tbl) возвращает журнал безусловная плотность вероятности наблюдений (строки) в tbl использование наивной модели Bayes Mdl.

Можно использовать lp идентифицировать выбросы в обучающих данных.

пример

lp = logP(Mdl,X) возвращает журнал безусловная плотность вероятности наблюдений (строки) в X использование наивной модели Bayes Mdl.

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

развернуть все

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

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

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

Типы данных: table

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

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

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

Выходные аргументы

развернуть все

Журнал безусловной плотности вероятности предикторов, возвращенных как числовой вектор-столбец. lp имеет столько же элементов сколько строки в X, и каждый элемент является логарифмической плотностью вероятности соответствующей строки в X.

Если любые строки в X содержите по крайней мере один NaN, затем соответствующий элемент lp isnan.

Примеры

развернуть все

Загрузите ирисовый набор данных Фишера.

load fisheriris
X = meas;    % Predictors
Y = species; % Response

Обучите наивный классификатор Байеса. Это - хорошая практика, чтобы задать порядок класса. Примите, что каждый предиктор условно нормально распределен, учитывая свою метку.

Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'});

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

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

lp = logP(Mdl,X);
histogram(lp)
xlabel 'Log-unconditional probability'
ylabel 'Frequency'
title 'Histogram: Log-Unconditional Probability'

Идентифицируйте индексы наблюдений, имеющих безусловную журналом вероятность меньше чем-7.

idx = find(lp < -7)
idx = 3×1

    61
   118
   132

Больше о

развернуть все