margin

Поле k - самый близкий соседний классификатор

Описание

m = margin(mdl,tbl,ResponseVarName) возвращает поля классификации для mdl с данными tbl и классификация tbl.ResponseVarName. Если tbl содержит переменную отклика, используемую, чтобы обучить mdl, затем вы не должны задавать ResponseVarName.

m возвращен как числовой вектор длины size(tbl,1). Каждая запись в m представляет поле для соответствующей строки tbl и соответствующий истинный класс помечает в tbl.ResponseVarName, вычисленное использование mdl.

m = margin(mdl,tbl,Y) возвращает поля классификации для mdl с данными tbl и классификация Y.

пример

m = margin(mdl,X,Y) возвращает поля классификации для mdl с данными X и классификация YM возвращен как числовой вектор длины size(X,1).

Примеры

свернуть все

Создайте классификатор k - ближайших соседей для ирисовых данных Фишера, где k = 5.

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

load fisheriris

Создайте классификатор для пяти самых близких соседей.

mdl = fitcknn(meas,species,'NumNeighbors',5);

Исследуйте поле классификатора для среднего наблюдения, классифицированного как 'versicolor'.

X = mean(meas);
Y = {'versicolor'};
m = margin(mdl,X,Y)
m = 1

Все пять самых близких соседей классифицируют как 'versicolor'.

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

свернуть все

модель классификатора k - ближайших соседей, заданная как ClassificationKNN объект.

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

Если tbl содержит переменную отклика, используемую, чтобы обучить mdl, затем вы не должны задавать ResponseVarName или Y.

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

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

Имя переменной отклика, заданное как имя переменной в tbl. Если tbl содержит переменную отклика, используемую, чтобы обучить mdl, затем вы не должны задавать ResponseVarName.

Необходимо задать ResponseVarName как вектор символов или скаляр строки. Например, если переменная отклика хранится как tbl.response, затем задайте его как 'response'. В противном случае программное обеспечение обрабатывает все столбцы tbl, включая tbl.response, как предикторы.

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

Типы данных: char | string

Данные о предикторе, заданные как числовая матрица. Каждая строка X представляет одно наблюдение, и каждый столбец представляет одну переменную.

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

Метки класса, заданные как категориальное, символ, или массив строк, логический или числовой вектор или массив ячеек из символьных векторов. Каждая строка Y представляет классификацию соответствующей строки X.

Типы данных: categorical | char | string | logical | single | double | cell

Больше о

свернуть все

Поле

Классификация margin для каждого наблюдения является различием между классификацией score для истинного класса и максимальным счетом классификации к ложным классам.

Счет

score классификации является апостериорной вероятностью классификации. Апостериорная вероятность является количеством соседей с той классификацией, разделенной на количество соседей. Для более подробного определения, которое включает веса и априорные вероятности, смотрите Апостериорную вероятность.

Расширенные возможности

Представленный в R2012a