← 返回题库
初级

第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
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码