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

Точность и вспомнить в Python

Давайте поговорим о точном и вспоминании в современной статье. Всякий раз, когда мы осуществляем проблему классификации (деревья решения I.E) для классификации точек данных, там

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

Точность и вспомнить в Python

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

Несмотря на то, что точность дает общую идею о том, насколько хороша модель, нам нужны более надежные метрики для оценки нашей модели.

Давайте рассмотрим пример.

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

Я хотел бы, чтобы вы представили два сценария в этой проблеме.

  • Сценарий 1 : Ваша модель классифицировала транзакцию не мошенничество в качестве мошенничества.
  • Сценарий 2 : Ваша модель классифицировала транзакцию мошенничества как не мошенничество.

Среди этих двух сценариев, которая является наиболее важной ситуацией, чтобы обратить внимание на то, что транзакции мошенничества могут придать огромные потери?

Я надеюсь, что вы догадались правильно.

Это сценарий 2. Если ваша модель классифицирует транзакции по мошенничеству как немогите, он может заставить вашу организацию страдать значительным количеством потери. Вы не хотите этого, ты? 🙂.

Точность не предоставляет никаких средств для решения таких проблем.

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

Понимание путаницы матрицы

Перед погружением в точность и вспомните, что мы должны знать путаницу матрицы.

Матрица путаницы для проблемы бинарной классификации выглядит так. Где мы либо классифицируем точки правильно, либо нет, но эти неправильно классифицированные точки могут быть дополнительно разделены как ложные положительные и ложные отрицательные.

Путаница матрицы

Давайте понять терминологию сейчас.

  • Истинный положительный (к): фактический положительный класс прогнозируется положительный.
  • Истинный отрицательный (TN): фактический отрицательный класс прогнозируется негативным.
  • Ложный положительный (FP): фактический класс отрицательный, но предсказан как положительный.
  • Ложный отрицательный (FN): фактический класс положительный, но прогнозируется как отрицательный.

Оба Точность и Напомним можно интерпретировать из путаницы матрицы. Посмотрим, что они есть.

Что вы подразумеваете под точностью?

В простейших условиях точность – это соотношение между истинными позитивами и всеми точками, которые классифицируются как позитивы.

Для расчета точности модели нам нужны положительные и отрицательные числа из матрицы путаницы.

Точность/(TP + FP)

Хорошо посмотреть на точность, мы просто видим это как какое-то необычное математическое соотношение, но то, что в мире это значит?

Ссылаясь на нашу мошенническую пример транзакции сверху. Это будет означать, что среди всех транзакций, которые были классифицированы как положительные (мошенничество), сколько на самом деле позитивно.

Что вы подразумеваете под вспомните?

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

Это соотношение истинного положительного и суммы истинного положительного и ложного отрицательного. Это означает, что из всех точек, которые на самом деле являются позитивными, какая фракция мы правильно предсказали как позитивные?

Напомним/(TP + FN)

Ссылаясь на наш пример раньше. Мы говорим, что среди всех транзакций, которые были фактически мошенничеством, сколько из них мы предсказывали как мошенничество.

Напомним интуицию

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

F1-оценка – это гармоническое среднее значение точности и вспоминает

Это может быть рассчитано как:

Оценка F1

F1-оценка – лучшая метрика, когда есть несбалансированные классы. Это необходимо, когда вы хотите искать баланс между точностью и вспомнить.

В большинстве задач реальной классификации существует распределение дисбалансированного класса, и, таким образом, F1-оценка является лучшей метрикой для оценки нашей модели.

Вычисляя точность и отзыв в Python

Давайте посмотрим, как мы можем рассчитать точность и вспомнить, используя Python в задаче классификации.

Мы будем использовать модуль Sklearn.Metrics.

#Importing the required libraries
from sklearn import datasets
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import plot_precision_recall_curve
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
import matplotlib.pyplot as plt

#Loading the data
data = datasets.load_breast_cancer()
df = pd.DataFrame(data.data, columns=data.feature_names)
df['target'] = data.target

#Splitting the data into training and test set
X_train, X_test, y_train, y_test = train_test_split(
                                    df.iloc[:,:-1], df.iloc[:,-1], test_size=0.3, random_state=42)

# Initialize and fit the Model
model = LogisticRegression()
model.fit(X_train, y_train)

#Make prediction on the test set
pred = model.predict(X_test)

#calculating precision and reall
precision = precision_score(y_test, pred)
recall = recall_score(y_test, pred)

print('Precision: ',precision)
print('Recall: ',recall)

#Plotting Precision-Recall Curve
disp = plot_precision_recall_curve(model, X_test, y_test)
Precision:  0.963963963963964
Recall:  0.9907407407407407
Прецизионная кривая отзыва

Precision_Score () и Recall_score () Функции от Sklearn.metrics Модуль требует настоящих меток и предсказанных этикеток в качестве входных аргументов и возвращает прецизионные и отзывы баллов соответственно.

Заключение

Возможность иметь высокие значения на точности и вспомнить всегда желательна, но трудно получить это. В зависимости от типа применения нам нужно либо увеличить точность, либо отзыв. Эта статья была все о том, что понять две очень важные метрики оценки модели.

Счастливое обучение!