Давайте сначала рассмотрим показатели точности, отзыва и F1:
Зачем использовать сбалансированную точность и взвешенную F1?
в общем,Сбалансированная точностьи Взвешенный F1 Значения являются очень важными показателями при оценке эффективности моделей классификации. Они могут помочь нам более полно и точно понять эффективность модели.。
Сбалансированная точность(Balanced Accuracy)
Сбалансированная точность используется для обработки несбалансированных по меткам наборов данных в задачах двоичной классификации. Он определяется как среднее значение запоминания, полученного по каждой категории.
balanced_accuracy_score
Функция scikit-learn Реализация в библиотеке, которая вычисляет сбалансированную точность, чтобы избежать переоценки производительности для наборов данных с несбалансированными метками. Когда параметры adjusted установлен на False При оптимальное значение сбалансированной точности равно 1, худшее значение 0. Вот часто используемый пример расчета:
from sklearn.metrics import balanced_accuracy_score
y_true = [0, 1, 0, 0, 1, 0]
y_pred = [0, 1, 1, 0, 0, 0]
balanced_accuracy_score(y_true, y_pred, adjusted=False)
В некоторой исследовательской литературе предлагаются альтернативные определения сбалансированной точности. scikit-learn верно Сбалансированная точность Определение,Это эквивалентно точности_score со сбалансированными по классам весами выборки.,и имеет те же желательные свойства, что и двоичный случай. Для задач двоичной классификации,Сбалансированная точность — это среднее арифметическое значение чувствительности (истинно положительный показатель) и специфичности (истинно отрицательный показатель).。Конкретная формула расчета выглядит следующим образом.:
Если классификатор одинаково хорошо работает с обоими классами, то термин упрощается до традиционной точности (т. е. количества правильных прогнозов, разделенного на общее количество прогнозов). Сбалансированная точность варьируется от 0 до 1. Если установлено значение «Adjusted=True», оно будет перенастроено на диапазон
до 1 со случайной оценкой производительности 0.
Взвешенный F1 ценить(Weighted F1)
Оценка F1 — это широко используемый индикатор для оценки эффективности прогнозирования модели в задачах двоичной классификации с учетом точности и полноты. Показатель F1 представляет собой среднее гармоническое значение точности и полноты, его значение варьируется от 0 до 1, где 1 означает, что и точность, и полнота являются идеальными, а 0 означает, что ни точность, ни полнота не достигаются.
Существует множество вариантов Фракции F1.,включатьВзвешенный F1 дробь, макрос F1 Фракции и микро F1 Фракция,Они подходят для задач многомерной классификации или сценариев, в которых необходимо классифицировать категории.
scikit-learn Библиотека реализована f1_score
расчет функции F1 Score, общий пример кода выглядит так:
import numpy as np
from sklearn.metrics import f1_score
# Ground truth (true labels)
y_true = np.array([0, 1, 2, 0, 1, 2, 0, 1, 2])
# Predicted labels from your classifier
y_pred = np.array([0, 1, 2, 0, 1, 2, 0, 2, 2]) # The 8th label is misclassified
# Calculate Macro F1 Score
macro_f1 = f1_score(y_true, y_pred, average='macro')
print(f"Macro F1 Score: {macro_f1}")
# Calculate Micro F1 Score
micro_f1 = f1_score(y_true, y_pred, average='micro')
print(f"Micro F1 Score: {micro_f1}")
# Calculate Weighted F1 Score
weighted_f1 = f1_score(y_true, y_pred, average='weighted')
print(f"Weighted F1 Score: {weighted_f1}")
Выберите вид, который означает ценить,зависит от обстоятельств,включать不同类别的重要性и Комплексное рассмотрение распределения выборки。верно于микроскопический、Макроси Взвешенныйсредний F1 Для четкого объяснения дробей вы можете обратиться к этой статье. Towards Data Science блог. С помощью простых примеров вы сможете понять среднее значение микроскопического и среднее значение макроси Взвешенного в классификации по нескольким категориям. F1 Концепция дробей.
📚️ Справочные ссылки: