Класс: ClassificationDiscriminant
Ошибка классификации перезаменой
L = resubLoss(obj)
L = resubLoss(obj,Name,Value)
возвращает потерю перезамены, означая потерю, вычисленную для данных, что L
= resubLoss(obj
)fitcdiscr
раньше создавал obj
.
возвращает статистику потерь с дополнительными опциями, заданными одним или несколькими аргументами пары L
= resubLoss(obj
,Name,Value
)Name,Value
.
|
Классификатор дискриминантного анализа, произведенное использование |
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'LossFun'
— Функция потерь'classiferror'
(значение по умолчанию) | 'binodeviance'
| 'exponential'
| 'hinge'
| 'logit'
| 'mincost'
| '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
-by-K
логическая матрица со строками, указывающими, которые классифицируют соответствующее наблюдение, принадлежит. Порядок следования столбцов соответствует порядку класса в obj.ClassNames
.
Создайте C
установкой C(p,q) = 1
, если наблюдение p
находится в классе q
для каждой строки. Установите все другие элементы строки p
к 0
.
S
является n
-by-K
числовая матрица очков классификации. Порядок следования столбцов соответствует порядку класса в obj.ClassNames
. S
является матрицей очков классификации, подобных выводу predict
.
W
является n
-by-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, указывая на отрицательный или положительный класс, соответственно.
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' | |
Экспоненциальная потеря | 'exponential' | |
Ошибка классификации | 'classiferror' | Это - взвешенная часть неправильно классифицированных наблюдений где метка класса, соответствующая классу с максимальной апостериорной вероятностью. I {x} является функцией индикатора. |
Потеря стержня | 'hinge' | |
Потеря логита | 'logit' | |
Минимальная стоимость | 'mincost' | Минимальная стоимость. Программное обеспечение вычисляет взвешенную минимальную стоимость с помощью этой процедуры для наблюдений j = 1..., n.
Взвешенная, средняя, минимальная потеря стоимости |
Квадратичная потеря | 'quadratic' |
Эта фигура сравнивает функции потерь (кроме 'mincost'
) для одного наблюдения по m. Некоторые функции нормированы, чтобы пройти [0,1].
Апостериорная вероятность, что точка z принадлежит, чтобы классифицировать j, является продуктом априорной вероятности и многомерной нормальной плотности. Функция плотности многомерного нормального со средним μj и ковариацией Σj в точке z
где детерминант Σ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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.