TGViewer
Data Science | Вопросы собесов Data Science | Вопросы собесов @easy_ds · 4.89K subscribers
Post #2636 380
🤔 Расскажи про метрики, классификацию?

Для оценки моделей классификации позволяют определить, насколько хорошо модель справляется с задачей предсказания классов.

🚩Основные метрики классификации

🟠Точность (Accuracy)
Доля правильных предсказаний. Когда классы сбалансированы.
\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}


🟠Полнота (Recall)
Доля правильно предсказанных положительных примеров. Когда важно минимизировать пропуск положительных случаев.
\text{Recall} = \frac{TP}{TP + FN}


🟠Точность (Precision)
Доля правильно предсказанных положительных примеров из всех предсказанных положительных. Когда важно минимизировать количество ложноположительных случаев.
\text{Precision} = \frac{TP}{TP + FP}


🟠F-мера (F-score)
Гармоническое среднее между точностью и полнотой. Когда нужно сбалансировать точность и полноту.
F_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}


🟠Матрица ошибок (Confusion Matrix)
Таблица с количеством истинных положительных, истинных отрицательных, ложноположительных и ложноотрицательных предсказаний.

🟠ROC-кривая и AUC
ROC-кривая показывает соотношение истинно положительных и ложноположительных срабатываний при различных порогах. AUC – площадь под ROC-кривой. Для оценки качества моделей при различных порогах классификации.

🚩Примеры использования

Accuracy, Precision, Recall и F1-Score
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix

# Истинные метки и предсказанные метки
y_true = [0, 1, 1, 1, 0, 1, 0, 0, 1, 1]
y_pred = [0, 1, 0, 1, 0, 1, 0, 1, 1, 0]

# Вычисление метрик
accuracy = accuracy_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)
cm = confusion_matrix(y_true, y_pred)

print(f"Accuracy: {accuracy}")
print(f"Precision: {precision}")
print(f"Recall: {recall}")
print(f"F1 Score: {f1}")
print(f"Confusion Matrix:\n{cm}")


ROC-кривая и AUC
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, roc_auc_score

# Истинные метки и предсказанные вероятности
y_true = [0, 1, 1, 1, 0, 1, 0, 0, 1, 1]
y_scores = [0.1, 0.4, 0.35, 0.8, 0.2, 0.75, 0.3, 0.4, 0.85, 0.6]

# Вычисление ROC-кривой и AUC
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
roc_auc = roc_auc_score(y_true, y_scores)

# Построение ROC-кривой
plt.figure()
plt.plot(fpr, tpr, color='darkorange', lw=2, label=f'ROC-кривая (AUC = {roc_auc:.2f})')
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC-кривая')
plt.legend(loc="lower right")
plt.show()


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 1
More from @easy_ds
  1. Oct 12, 2026Post #2704
  2. Oct 12, 2026🤔 Как решить задачу, где присутствует одновременно два target – один categorical, другой…
  3. Oct 12, 2026🤔 Как происходит детекция без anchor box-ов? Обнаружение объектов без использования ancho…
  4. Oct 12, 2026Post #2701
  5. Oct 11, 2026🤔 Что такое декоратор? Это функция, модифицирующая или расширяющая поведение другой функц…
  6. Oct 11, 2026Post #2699
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →