exponenta event banner

resubLoss

Ошибка классификации в результате повторного предоставления

Синтаксис

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

Описание

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

L = resubLoss(ens,Name,Value) вычисляет потери с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары. Можно указать несколько аргументов пары имя-значение в любом порядке как Name1,Value1,…,NameN,ValueN.

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

ens

Классификационный ансамбль, созданный с помощью fitcensemble.

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

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

'learners'

Показатели слабых учащихся в ансамбле варьируются от 1 кому NumTrained. resubLoss использует только этих учеников для расчета потерь.

По умолчанию: 1:NumTrained

'lossfun'

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

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

    СтоимостьОписание
    'binodeviance'Биномиальное отклонение
    'classiferror'Неверно классифицированная скорость в десятичной
    'exponential'Экспоненциальные потери
    'hinge'Потеря шарнира
    'logit'Логистические потери
    'mincost'Минимальная ожидаемая стоимость неправильной классификации (для классификационных оценок, которые являются задними вероятностями)
    'quadratic'Квадратичные потери

    'mincost' подходит для классификационных оценок, которые являются задними вероятностями.

    • Пакетированные и подпространственные ансамбли возвращают задние вероятности по умолчанию (ens.Method является 'Bag' или 'Subspace').

    • Если метод ансамбля 'AdaBoostM1', 'AdaBoostM2', GentleBoost, или 'LogitBoost', затем, чтобы использовать апостериорные вероятности в качестве классификационных баллов, необходимо указать двойное преобразование баллов путем ввода

      ens.ScoreTransform = 'doublelogit';

    • Для всех других методов ансамбля программное обеспечение не поддерживает апостериорные вероятности как оценки классификации.

  • Укажите собственную функцию с помощью нотации дескриптора функции.

    Предположим, что n быть числом наблюдений в X и K быть числом различных классов (numel(ens.ClassNames), ens - входная модель). Ваша функция должна иметь эту подпись

    lossvalue = lossfun(C,S,W,Cost)
    где:

    • Выходной аргумент lossvalue является скаляром.

    • Выберите имя функции (lossfun).

    • C является nоколо-K логическая матрица со строками, указывающими, какому классу принадлежит соответствующее наблюдение. Порядок столбцов соответствует порядку классов в ens.ClassNames.

      Конструкция C путем установки C(p,q) = 1 если наблюдение p находится в классе q, для каждой строки. Установка всех остальных элементов строки p кому 0.

    • S является nоколо-K числовая матрица классификационных баллов. Порядок столбцов соответствует порядку классов в ens.ClassNames. S - матрица классификационных баллов, аналогичная выходному результату predict.

    • W является n-по-1 числовой вектор весов наблюдения. Если вы проходите W, программное обеспечение нормализует их для суммирования 1.

    • Cost является K-by-K числовая матрица затрат на неправильную классификацию. Например, Cost = ones(K) - eye(K) указывает стоимость 0 для правильной классификации, и 1 для неправильной классификации.

    Укажите свою функцию с помощью 'LossFun',@lossfun.

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

По умолчанию: 'classiferror'

'mode'

Вектор символов или строковый скаляр, представляющий значение вывода L:

  • 'ensemble'L - скалярное значение, потеря для всего ансамбля.

  • 'individual'L - вектор с одним элементом на обучаемого ученика.

  • 'cumulative'L - вектор, в котором находится элемент J получается с помощью обучающихся 1:J из входного списка обучающихся.

По умолчанию: 'ensemble'

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

L

Потеря классификации, по умолчанию доля неправильно классифицированных данных. L может быть вектором и может означать различные вещи, в зависимости от настроек пары имя-значение.

Примеры

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

Загрузите набор данных радужки Фишера.

load fisheriris

Обучение классификационного ансамбля из 100 деревьев решений с использованием AdaBoostM2. Укажите пни дерева в качестве слабых учеников.

t = templateTree('MaxNumSplits',1);
ens = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

Оцените ошибку классификации повторного замещения.

loss = resubLoss(ens)
loss = 0.0333

Подробнее

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