Класс: ClassificationDiscriminant
Ошибка классификации перезаменой
L = resubLoss(obj)
L = resubLoss(obj,Name,Value)
возвращает потерю перезамены, означая потерю, вычисленную для данных это L = resubLoss(obj)fitcdiscr используемый, чтобы создать obj.
возвращает статистику потерь с дополнительными опциями, заданными одним или несколькими L = resubLoss(obj,Name,Value)Name,Value парные аргументы.
|
Классификатор дискриминантного анализа, произведенное использование |
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
LossFun — Функция потерь'mincost' (значение по умолчанию) | 'binodeviance' | 'classiferror' | 'exponential' | 'hinge' | 'logit' | 'quadratic' | указатель на функциюФункция потерь в виде разделенной запятой пары, состоящей из 'LossFun' и встроенное имя функции потерь или указатель на функцию.
В следующей таблице перечислены доступные функции потерь. Задайте тот с помощью соответствующего вектора символов или строкового скаляра.
| Значение | Описание |
|---|---|
'binodeviance' | Биномиальное отклонение |
'classiferror' | Неправильно классифицированный уровень в десятичном числе |
'exponential' | Экспоненциальная потеря |
'hinge' | Потеря стержня |
'logit' | Логистическая потеря |
'mincost' | Минимальный ожидал стоимость misclassification (для классификационных оценок, которые являются апостериорными вероятностями), |
'quadratic' | Квадратичная потеря |
'mincost' подходит для классификационных оценок, которые являются апостериорными вероятностями. Модели дискриминантного анализа возвращают апостериорные вероятности как классификационные оценки по умолчанию (см. predict).
Задайте свою собственную функцию с помощью обозначения указателя на функцию.
Предположим тот n будьте количеством наблюдений в X и K будьте количеством отличных классов (numel(obj.ClassNames)). Ваша функция должна иметь эту подпись
lossvalue = lossfun(C,S,W,Cost)Выходной аргумент lossvalue скаляр.
Вы выбираете имя функции (lossfun).
C n- K логическая матрица со строками, указывающими, которые классифицируют соответствующее наблюдение, принадлежит. Порядок следования столбцов соответствует порядку класса в obj.ClassNames.
Создайте C установкой C(p,q) = 1 если наблюдение p находится в классе q, для каждой строки. Установите все другие элементы строки p к 0.
S n- K числовая матрица классификационных оценок. Порядок следования столбцов соответствует порядку класса в obj.ClassNamesS матрица классификационных оценок, похожих на выход predict.
W n- 1 числовой вектор из весов наблюдения. Если вы передаете W, программное обеспечение нормирует их, чтобы суммировать к 1.
Cost K-by-K числовая матрица затрат misclassification. Например, Cost = ones(K) - eye(K) задает стоимость 0 для правильной классификации и 1 для misclassification.
Задайте свое использование функции 'LossFun', @.lossfun
Для получения дополнительной информации о функциях потерь смотрите Потерю Классификации.
Типы данных: char | string | function_handle
|
Ошибка классификации, скаляр. Значение ошибки зависит от значений в |
Вычислите повторно подставленную ошибку классификации для ирисовых данных Фишера:
load fisheriris
obj = fitcdiscr(meas,species);
L = resubLoss(obj)
L =
0.0200Функции Classification loss измеряют прогнозирующую погрешность моделей классификации. Когда вы сравниваете тот же тип потери среди многих моделей, более низкая потеря указывает на лучшую прогнозную модель.
Рассмотрите следующий сценарий.
L является средневзвешенной потерей классификации.
n является объемом выборки.
Для бинарной классификации:
yj является наблюдаемой меткой класса. Программные коды это как –1 или 1, указывая на отрицательный или положительный класс (или первый или второй класс в ClassNames свойство), соответственно.
f (Xj) является классификационной оценкой положительного класса для наблюдения (строка) j данных о предикторе X.
mj = yj f (Xj) является классификационной оценкой для классификации наблюдения j в класс, соответствующий yj. Положительные значения mj указывают на правильную классификацию и не способствуют очень средней потере. Отрицательные величины mj указывают на неправильную классификацию и значительно способствуют средней потере.
Для алгоритмов, которые поддерживают классификацию мультиклассов (то есть, K ≥ 3):
yj* вектор из K – 1 нуль, с 1 в положении, соответствующем истинному, наблюдаемому классу yj. Например, если истинный класс второго наблюдения является третьим классом и K = 4, то y 2* = [0 0 1 0] ′. Порядок классов соответствует порядку в ClassNames свойство входной модели.
f (Xj) является длиной вектор K из музыки класса к наблюдению j данных о предикторе X. Порядок баллов соответствует порядку классов в ClassNames свойство входной модели.
mj = yj*′f (Xj). Поэтому mj является скалярной классификационной оценкой, которую модель предсказывает для истинного, наблюдаемого класса.
Весом для наблюдения j является wj. Программное обеспечение нормирует веса наблюдения так, чтобы они суммировали к соответствующей предшествующей вероятности класса. Программное обеспечение также нормирует априорные вероятности, таким образом, они суммируют к 1. Поэтому
Учитывая этот сценарий, следующая таблица описывает поддерживаемые функции потерь, которые можно задать при помощи 'LossFun' аргумент пары "имя-значение".
| Функция потерь | Значение LossFun | Уравнение |
|---|---|---|
| Биномиальное отклонение | 'binodeviance' | |
| Неправильно классифицированный уровень в десятичном числе | 'classiferror' | метка класса, соответствующая классу с максимальным счетом. I {·} является функцией индикатора. |
| Потеря перекрестной энтропии | 'crossentropy' |
Взвешенная потеря перекрестной энтропии где веса нормированы, чтобы суммировать к n вместо 1. |
| Экспоненциальная потеря | 'exponential' | |
| Потеря стержня | 'hinge' | |
| Потеря логита | 'logit' | |
| Минимальный ожидал стоимость misclassification | 'mincost' |
Программное обеспечение вычисляет взвешенную минимальную ожидаемую стоимость классификации с помощью этой процедуры для наблюдений j = 1..., n.
Взвешенное среднее минимального ожидало, что потеря стоимости misclassification Если вы используете матрицу стоимости по умолчанию (чье значение элемента 0 для правильной классификации и 1 для неправильной классификации), то |
| Квадратичная потеря | 'quadratic' |
Этот рисунок сравнивает функции потерь (кроме 'crossentropy' и 'mincost') по счету m для одного наблюдения. Некоторые функции нормированы, чтобы пройти через точку (0,1).

Апостериорная вероятность, что точка x принадлежит, чтобы классифицировать k, является продуктом априорной вероятности и многомерной нормальной плотности. Функция плотности многомерного нормального с 1 d означает, что μk и d-by-d ковариация Σk в 1 d указывают, что x
где определитель Σk, и обратная матрица.
Позволенный P (k) представляют априорную вероятность класса k. Затем апостериорная вероятность, что наблюдение x имеет класс k,
где P (x) является постоянной нормализацией, сумма по k P (x |k) P (k).
Априорная вероятность является одним из трех вариантов:
'uniform' — Априорная вероятность класса k один по общему количеству классов.
'empirical' — Априорная вероятность класса k количество обучающих выборок класса k разделенный на общее количество обучающих выборок.
Пользовательский — априорная вероятность класса k kэлемент th prior вектор. Смотрите fitcdiscr.
После создания модели классификации (Mdl) можно установить предшествующую запись через точку использования:
Mdl.Prior = v;
где v вектор из положительных элементов, представляющих частоту, с которой происходит каждый элемент. Вы не должны переобучать классификатор, когда вы устанавливаете новое предшествующее.
Матрица ожидаемых затрат на наблюдение задана в Стоимости.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.