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

Больше о

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