Рубрики
Без рубрики

Оценка F1 – Метрика ошибки классификации

Эй, читатели! Сегодня мы будем сосредоточены на важной метрике ошибок для алгоритмов классификации – F1 балла в Python. Итак, давайте начнем! Что такое F1.

Автор оригинала: Pankaj Kumar.

Эй, читатели! Сегодня мы будем сосредоточиться на важной метрике ошибок для алгоритмов классификации – F1 Оценка в питоне. Итак, давайте начнем!

Что такое балл F1?

F1 Оценка это Классификация ошибки метрики Что, как и любая другая ошибка, метрика помогает нам оценить производительность алгоритма. Это помогает нам оценить производительность модели обучения машины с точки зрения бинарной классификации.

Это комбинация Точность и Напомним Метрики и называются гармоническим средством точности и вспоминания. Он в основном используется в случаях, когда данные неразбавлены, или в наборе данных есть двоичная классификация.

Посмотрите на формулу ниже

F1 = 2 * (precision * recall) / (precision + recall)

Оценка F1 увеличивается, поскольку значение точности и взыскания поднимается для модели.

Высокий балл указывает на то, что модель хорошо разбирается с точки зрения обращения с задачей дисбаланса класса.

Давайте сейчас сосредоточимся к практической реализации того же в предстоящем разделе.

Применение балла F1 на набор данных кредита

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

1. Загрузите набор данных

Мы использовали функцию PandaS.READ_CSV () для загрузки набора данных в среду.

import pandas as pd
import numpy as np
loan = pd.read_csv("Bank-loan.csv")

2. Разделите набор данных

Кроме того, мы разбиваем набор данных, используя функцию stear_test_split (), как показано

from sklearn.model_selection import train_test_split
X = loan.drop(['default'],axis=1) 
Y = loan['default'].astype(str)
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=.20, random_state=0)

3. Определение метрик ошибок

Здесь мы определили Путаница матрицы и другие метрики ошибок с использованием индивидуальных функций.

# Error metrics -- Confusion matrix\FPR\FNR\f1 score\
def err_metric(CM): 
    
    TN = CM.iloc[0,0]
    FN = CM.iloc[1,0]
    TP = CM.iloc[1,1]
    FP = CM.iloc[0,1]
    precision =(TP)/(TP+FP)
    accuracy_model = (TP+TN)/(TP+TN+FP+FN)
    recall_score = (TP)/(TP+FN)
    f1_score = 2*(( precision * recall_score)/( precision + recall_score))
    print("f1 score of the model: ",f1_score)    

4. Моделирование

Мы применили алгоритм дерева решений на набор данных, как показано ниже

#Decision Trees
decision = DecisionTreeClassifier(max_depth= 6,class_weight='balanced' ,random_state =0).fit(X_train,Y_train)
target = decision.predict(X_test)
targetclass_prob = decision.predict_proba(X_test)[:, 1]

5. Оценка модели

Теперь, применив модель, теперь мы оценили модель с метриками, определенными в вышеуказанном разделе.

confusion_matrix = pd.crosstab(Y_test,target)
err_metric(confusion_matrix)

Выход:

f1 score of the model:  0.3488372093023256

F1 Оценка с библиотекой Sklearn

В этом примере мы использовали встроенный функцию из Библиотека Sklearn Для расчета оценки F1 значения данных. f1_score () Метод используется для расчета значения счет, без необходимости явного использования точных и вызывающих значений.

from sklearn.metrics import f1_score
x = [0, 1, 20 ,30, 40]
y = [1, 19, 20, 30, 39]
res=f1_score(x, y, average='macro')
print("F1 score:", res)

Выход:

F1 score: 0.2857142857142857

Заключение

По этому, мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если вы столкнетесь с любым вопросом.

До этого оставайтесь настроенными и продолжайте учиться !! 🙂.

Рекомендации