初级
第12章 监督学习方法总结 - 实现模型评估指标
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
import numpy as np
def accuracy_score(y_true, y_pred):
return np.sum(y_true == y_pred) / len(y_true)
def precision_score(y_true, y_pred, positive_class=1):
true_positives = np.sum((y_true == positive_class) & (y_pred == positive_class))
predicted_positives = np.sum(y_pred == positive_class)
return true_positives / predicted_positives if predicted_positives > 0 else 0
def recall_score(y_true, y_pred, positive_class=1):
true_positives = np.sum((y_true == positive_class) & (y_pred == positive_class))
actual_positives = np.sum(y_true == positive_class)
return true_positives / actual_positives if actual_positives > 0 else 0
def f1_score(y_true, y_pred, positive_class=1):
precision = precision_score(y_true, y_pred, positive_class)
recall = recall_score(y_true, y_pred, positive_class)
return 2 * precision * recall / (precision + recall) if (precision + recall) > 0 else 0
def confusion_matrix(y_true, y_pred):
classes = np.unique(np.concatenate([y_true, y_pred]))
n_classes = len(classes)
matrix = np.zeros((n_classes, n_classes), dtype=int)
for i, c1 in enumerate(classes):
for j, c2 in enumerate(classes):
matrix[i, j] = np.sum((y_true == c1) & (y_pred == c2))
return matrix
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199