exponenta event banner

потеря

Ошибка классификации

Синтаксис

L = loss(obj,X,Y)
L = loss(obj,X,Y,Name,Value)

Описание

L = loss(obj,X,Y) возвращает потерю классификации, которая является скаляром, представляющим, насколько хорошо obj классифицирует данные в X, когда Y содержит истинные классификации.

При расчете потерь loss нормализует вероятности классов в Y к вероятностям класса, используемым для обучения, хранящимся в Prior имущество obj.

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

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

obj

Классификатор дискриминантного анализа класса ClassificationDiscriminant или CompactClassificationDiscriminant, обычно построенный с помощью fitcdiscr.

X

Матрица, где каждая строка представляет наблюдение, а каждый столбец представляет предиктор. Количество столбцов в X должно равняться количеству предикторов в obj.

Y

Метки классов с тем же типом данных, что и в obj. Количество элементов Y должно равняться количеству строк X.

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

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

'LossFun'

Встроенное имя функции потери (вектор символа или скаляр строки в таблице) или дескриптор функции.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

'Weights'

Числовой вектор длины N, где N - количество строк X. weights являются неотрицательными. loss нормализует веса таким образом, что веса наблюдения в каждом классе суммируются с предыдущей вероятностью этого класса. При поставке weights, loss вычисляет взвешенные потери классификации.

По умолчанию: ones(N,1)

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

L

Потеря классификации, скаляр. Толкование L зависит от значений в weights и lossfun.

Примеры

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

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

load fisheriris

Обучение модели дискриминантного анализа с использованием всех наблюдений в данных.

Mdl = fitcdiscr(meas,species);

Оцените ошибку классификации модели с помощью учебных наблюдений.

L = loss(Mdl,meas,species)
L = 0.0200

Или, если Mdl не компактен, тогда вы можете оценить ошибку классификации обучающей выборки, пройдя Mdl кому resubLoss.

Подробнее

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

Расширенные возможности