resubLoss

Класс: ClassificationDiscripant

Ошибка классификации путем реподституции

Синтаксис

L = resubLoss(obj)
L = resubLoss(obj,Name,Value)

Описание

L = resubLoss(obj) возвращает потери реституции, означающие потери, рассчитанные для данных, которые fitcdiscr используется для создания obj.

L = resubLoss(obj,Name,Value) возвращает статистику потерь с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

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

расширить все

obj

Классификатор дискриминантного анализа, полученный с использованием fitcdiscr.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Функция потерь, заданная как разделенная разделенными запятой парами, состоящая из 'LossFun' и встроенное имя функции потери или указатель на функцию.

  • В следующей таблице перечислены доступные функции потерь. Задайте один с помощью соответствующего вектора символов или строкового скаляра.

    ЗначениеОписание
    'binodeviance'Биномиальное отклонение
    'classiferror'Неверно классифицированный коэффициент в десятичных числах
    'exponential'Экспоненциальные потери
    'hinge'Потеря шарнира
    'logit'Логистические потери
    'mincost'Минимальные ожидаемые затраты на неправильную классификацию (для классификационных оценок, которые являются апостериорными вероятностями)
    '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 числовая матрица затрат на неправильную классификацию. Для примера, Cost = ones(K) - eye(K) задает стоимость 0 для правильной классификации и 1 для неправильной классификации.

    Задайте свою функцию, используя 'LossFun', @ lossfun.

Для получения дополнительной информации о функциях потерь смотрите Классификационные потери.

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

Выходные аргументы

L

Классификационная ошибка, скаляр. Смысл ошибки зависит от значений в weights и lossfun. См. Классификационные потери.

Примеры

Вычислите повторно замещенную ошибку классификации для данных радужной оболочки глаза Фишера:

load fisheriris
obj = fitcdiscr(meas,species);
L = resubLoss(obj)

L =
    0.0200

Подробнее о

расширить все