oobLoss

Ошибка классификации вне мешка

Синтаксис

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

Описание

L = oobLoss(ens) возвращает ошибку классификации для ens вычисляется для данных вне сумки.

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

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

ens

Классификационный упакованный ансамбль, построенный с fitcensemble.

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

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

'learners'

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

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

'lossfun'

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

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

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

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

  • Задайте свою собственную функцию, используя обозначение указателя на функцию.

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

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

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

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

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

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

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

    • W является n-by-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 деревьев классификации.

ens = fitcensemble(meas,species,'Method','Bag');

Оцените ошибку классификации вне мешка.

L = oobLoss(ens)
L = 0.0400

Подробнее о

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

См. также

| | |