• 机器学习和数据挖掘03-模型性能评估指标


    Accuracy(准确率)

    概念:模型正确预测的样本数量与总样本数量的比例。
    公式:Accuracy = (TP + TN) / (TP + TN + FP + FN)

    TP (True Positives):正确预测为正例的样本数。即模型正确地将正例判定为正例。

    TN (True Negatives):正确预测为负例的样本数。即模型正确地将负例判定为负例。

    FP (False Positives):错误预测为正例的样本数。即模型错误地将负例判定为正例。

    FN (False Negatives):错误预测为负例的样本数。即模型错误地将正例判定为负例。

    代码实现

    from sklearn.metrics import accuracy_score
    
    y_true = [0, 1, 1, 0, 1, 0]
    y_pred = [0, 1, 0, 0, 1, 1]
    
    accuracy = accuracy_score(y_true, y_pred)
    print("Accuracy:", accuracy)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Precision(精确度

    概念:被模型正确分类为正例的样本数量与所有被模型分类为正例的样本数量的比例。
    公式:Precision = TP / (TP + FP)

    代码实现

    from sklearn.metrics import precision_score
    
    precision = precision_score(y_true, y_pred)
    print("Precision:", precision)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Recall(召回率

    概念:在所有实际正例中,模型正确识别的比例。
    公式:Recall = TP / (TP + FN)

    代码实现

    from sklearn.metrics import recall_score
    
    recall = recall_score(y_true, y_pred)
    print("Recall:", recall)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    F1-Score

    概念:综合了模型的精确度和召回率,是一个更全面的指标。
    公式:F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

    代码实现

    from sklearn.metrics import f1_score
    
    f1 = f1_score(y_true, y_pred)
    print("F1-Score:", f1)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Time Taken(花费时间)

    这个指标通常不是用公式来计算的,而是通过代码中记录开始时间和结束时间,然后计算时间差来得出。

    Root Mean-Squared Error (RMSE)(均方根误差)

    概念:衡量模型预测值与真实值之间的平均差异。是均方误差的平方根。
    公式:RMSE = sqrt(MSE)

    from sklearn.metrics import mean_squared_error
    import numpy as np
    
    y_true = np.array([3.0, 2.5, 4.8])
    y_pred = np.array([2.8, 2.7, 4.5])
    
    mse = mean_squared_error(y_true, y_pred)
    rmse = np.sqrt(mse)
    print("RMSE:", rmse)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Mean Absolute Error (MAE)(平均绝对误差)

    概念:衡量模型预测值与真实值之间的平均绝对差异。
    公式:MAE = (|y_true - y_pred|) / n

    from sklearn.metrics import mean_absolute_error
    
    mae = mean_absolute_error(y_true, y_pred)
    print("MAE:", mae)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Log-loss/Cross-entropy loss(对数损失/交叉熵损失)

    概念:衡量模型在预测概率时的准确性。适用于二分类问题的交叉熵损失为对数损失。
    公式:Log-loss = - (y_true * log(y_pred) + (1 - y_true) * log(1 - y_pred))

    代码实现

    from sklearn.metrics import log_loss
    
    y_true = [0, 1, 1, 0]
    y_pred = [0.2, 0.8, 0.7, 0.3]
    
    logloss = log_loss(y_true, y_pred)
    print("Log-loss:", logloss)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    【Xml Tool】 裁剪某个区域重新生成xml
    Kotlin当中的小技巧
    go语言的某些开发素质真低,完全就是缺教养。
    JavaScript从入门到精通系列第二十三篇:JavaScript中的数组
    LeetCode-435-无重叠区间
    【LeetCode】309. 最佳买卖股票时机含冷冻期 动态规划 状态转移分析
    search_engine:搜索引擎实现
    电力系统直流潮流分析【N-1】(Matlab代码实现)
    考证必看 | PMP扫盲贴+PMP材料
    Java工具库——FastJson的40个常用方法
  • 原文地址:https://blog.csdn.net/CSDNXXCQ/article/details/132610272