Для классификации по нескольким меткам у вас есть два пути
Сначала рассмотрим следующее.
- - количество примеров.
- - это назначение метки истинности земли для примера ..
- является примером .
- - это прогнозируемые метки для примера .
Пример на основе
Метрики рассчитываются для каждого типа данных. Для каждой прогнозируемой метки вычисляется только ее оценка, а затем эти оценки агрегируются по всем точкам данных.
- Точность =
Отношение того, сколько из предсказанного является правильным. Числитель находит, сколько меток в предсказанном векторе имеет общее с основной истинностью, а соотношение вычисляет, сколько из предсказанных истинных меток на самом деле находится в основной истине.
- Напомним =
Отношение того, сколько фактических ярлыков было предсказано. Числитель определяет, сколько меток в прогнозируемом векторе имеет общее с основной истинностью (как указано выше), а затем находит отношение к числу фактических меток, получая, таким образом, какую долю фактических меток было предсказано.
Есть и другие метрики.
на основе метки
Здесь все сделано по меткам. Для каждой метки вычисляются метрики (например, точность, отзыв), а затем эти метрики по меткам агрегируются. Следовательно, в этом случае вы в конечном итоге вычисляете точность / отзыв для каждой метки по всему набору данных, как для двоичной классификации (поскольку каждая метка имеет двоичное назначение), а затем агрегируете ее.
Самый простой способ - представить общую форму.
Это просто расширение стандартного многоклассового эквивалента.
Макро усредненное
Микро усредненный
Здесь являются истинно положительным, ложно положительным, истинно отрицательным и ложно отрицательным значениями соответственно только для метки .
Здесь $ B $ обозначает любую метрику на основе матрицы смешения. В вашем случае вы бы использовали стандартную точность и вызывали формулы. Для макро-среднего значения вы передаете счетчик для каждой метки, а затем сумму, для микро-среднего значения вы сначала усредняете значения, а затем применяете свою метрическую функцию.
Возможно, вам будет интересно взглянуть на код метрики для нескольких меток здесь , который входит в пакет mldr в R . Также вам может быть интересно заглянуть в библиотеку Java с несколькими метками MULAN .
Это хорошая статья, посвященная различным метрикам: Обзор алгоритмов обучения по нескольким меткам