logP

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

Синтаксис

lp = logP(Mdl,tbl)
lp = logP(Mdl,X)

Описание

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 является NaN.

Примеры

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

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

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

Больше о

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