当前位置: 首页 > news >正文

多语言版本的网站西安短视频制作公司

多语言版本的网站,西安短视频制作公司,建行个人网上银行登录入口,最精品网站建设深度学习pytorch之22种损失函数数学公式和代码定义 深度学习pytorch之19种优化算法(optimizer)解析 深度学习pytorch之4种归一化方法(Normalization)原理公式解析和参数使用 深度学习pytorch之简单方法自定义9类卷积即插即用 实时…

深度学习pytorch之22种损失函数数学公式和代码定义
深度学习pytorch之19种优化算法(optimizer)解析
深度学习pytorch之4种归一化方法(Normalization)原理公式解析和参数使用
深度学习pytorch之简单方法自定义9类卷积即插即用
实时语义分割之BiSeNetv2(2020)结构原理解析及建筑物提取实践

文章目录

  • 摘要
    • 1. Accuracy Score
    • 2. Balanced Accuracy
    • 3. Brier Score Loss
    • 4. Cohen's Kappa
    • 5. F1/F-beta Score
    • 6. Hamming Loss
    • 7. Hinge Loss
    • 8. Jaccard Score
    • 9. Log Loss
    • 10. Matthews Correlation
    • 11. Precision
    • 12. Recall
    • 13. Zero-One Loss
  • 关键参数说明
  • 可执行代码示例

摘要

模型训练后需要评估模型性能,因此需要了解各种评估指标的具体用法和背后的数学原理,本博客以清晰的格式呈现分类任务评估指标的名称、调用示例、公式说明。

1. Accuracy Score

调用方式:

from sklearn.metrics import accuracy_score
acc = accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

公式:

Accuracy = (TP + TN) / (TP + TN + FP + FN)

2. Balanced Accuracy

调用方式:

from sklearn.metrics import balanced_accuracy_score
bal_acc = balanced_accuracy_score(y_true, y_pred, sample_weight=None, adjusted=False)

公式:

Balanced Accuracy = (Recall_Class1 + Recall_Class2 + … +Recall_ClassN) / N
调整后版本:BalancedAcc_adj = (BalancedAcc - 1/N) / (1 -1/N)

3. Brier Score Loss

调用方式:

from sklearn.metrics import brier_score_loss
brier = brier_score_loss(y_true, y_prob, sample_weight=None, pos_label=1)

公式:

Brier Score = 1/N * Σ(y_true_i - y_prob_i)^2

(适用于概率预测的校准度评估)

4. Cohen’s Kappa

调用方式:

from sklearn.metrics import cohen_kappa_score
kappa = cohen_kappa_score(y1, y2, labels=None, weights=None, sample_weight=None)

公式:

κ = (p_o - p_e) / (1 - p_e) 其中 p_o 为观察一致率,p_e 为期望一致率

5. F1/F-beta Score

调用方式:

from sklearn.metrics import f1_score, fbeta_score
f1 = f1_score(y_true, y_pred, average='weighted', zero_division=0)
fbeta = fbeta_score(y_true, y_pred, beta=0.5, average='macro')

公式:

Fβ = (1 + β²) * (precision * recall) / (β² * precision + recall) 当 β=1
时为 F1 Score

6. Hamming Loss

调用方式:

from sklearn.metrics import hamming_loss
hamming = hamming_loss(y_true, y_pred, sample_weight=None)

公式:

Hamming Loss = 1/N * Σ(预测错误的标签数 / 总标签数) (多标签任务专用)

7. Hinge Loss

调用方式:

from sklearn.metrics import hinge_loss
hinge = hinge_loss(y_true, pred_decision, labels=None, sample_weight=None)

公式:

Hinge Loss = max(0, 1 - y_true * pred_decision) 的平均值 (SVM模型常用)

8. Jaccard Score

调用方式:

from sklearn.metrics import jaccard_score
jaccard = jaccard_score(y_true, y_pred, average='samples')

公式:

Jaccard = TP / (TP + FP + FN)

即IOU,多用于图像分割评估

9. Log Loss

调用方式:

from sklearn.metrics import log_loss
logloss = log_loss(y_true, y_pred, eps=1e-15, normalize=True, labels=None)

公式:

Log Loss = -1/N * Σ[y_true_i * log(y_pred_i) + (1-y_true_i) *log(1-y_pred_i)]

交叉熵损失,需概率预测输入

10. Matthews Correlation

调用方式:

from sklearn.metrics import matthews_corrcoef
mcc = matthews_corrcoef(y_true, y_pred, sample_weight=None)

公式:

MCC = (TPTN - FPFN) / √((TP+FP)(TP+FN)(TN+FP)(TN+FN))

适用于类别不平衡的二分类

11. Precision

调用方式:

from sklearn.metrics import precision_score
precision = precision_score(y_true, y_pred, average='weighted', zero_division=0)

公式:

Precision = TP / (TP + FP)

12. Recall

调用方式:

from sklearn.metrics import recall_score
recall = recall_score(y_true, y_pred, average='macro', zero_division=0)

公式:

Recall = TP / (TP + FN)

13. Zero-One Loss

调用方式:

from sklearn.metrics import zero_one_loss
zero_one = zero_one_loss(y_true, y_pred, normalize=True)

公式:

Zero-One Loss = 1 - Accuracy

直接统计错误预测比例

关键参数说明

参数说明
average计算方式:None(各类单独计算)、‘micro’(全局统计)、‘macro’(各类平均)、‘weighted’(按支持数加权)
zero_division处理除零情况:0(返回0)、1(返回1)或’warn’(返回0并警告)
sample_weight样本权重数组
pos_label指定正类标签(仅二分类有效)
labels指定要评估的类别列表
betaF-beta中召回率的权重(>1侧重召回率,<1侧重精确率)

可执行代码示例

以下程序采用常用的accuracy, precision, recall, f1对分类结果进行评估,注意替换下列文件夹,两个文件夹内均为8位单波段影像,采用相同命名。

  • label_dir = ‘label’ # 替换为实际路径
  • pred_dir = ‘pred’ # 替换为实际路径
import os
import numpy as np
from PIL import Image
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
import matplotlib.pyplot as pltdef load_images_and_labels(label_dir, pred_dir):"""读取标签图像和预测图像,假设它们的像素值代表类别标签。:param label_dir: 实际标签图像的文件夹路径:param pred_dir: 预测标签图像的文件夹路径:return: 实际标签和预测标签的列表"""labels = []preds = []# 获取文件列表label_files = sorted(os.listdir(label_dir))pred_files = sorted(os.listdir(pred_dir))# 遍历每个图像文件加载标签和预测for label_file, pred_file in zip(label_files, pred_files):label_path = os.path.join(label_dir, label_file)pred_path = os.path.join(pred_dir, pred_file)# 加载图像并转换为灰度label_img = Image.open(label_path).convert('L')  # 灰度图pred_img = Image.open(pred_path).convert('L')  # 灰度图# 假设灰度值代表类标签label = np.array(label_img)pred = np.array(pred_img)# 扁平化数组,以便计算评估指标labels.extend(label.flatten())preds.extend(pred.flatten())return np.array(labels), np.array(preds)def evaluate_model(labels, preds):"""计算模型的评估指标:param labels: 实际标签:param preds: 预测标签"""# 计算评估指标accuracy = accuracy_score(labels, preds)precision = precision_score(labels, preds, average='weighted', zero_division=0)recall = recall_score(labels, preds, average='weighted', zero_division=0)f1 = f1_score(labels, preds, average='weighted', zero_division=0)# 打印评估指标print(f"Accuracy: {accuracy:.4f}")print(f"Precision: {precision:.4f}")print(f"Recall: {recall:.4f}")print(f"F1 Score: {f1:.4f}")# 可选:绘制混淆矩阵from sklearn.metrics import confusion_matriximport seaborn as snscm = confusion_matrix(labels, preds)sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=np.unique(labels), yticklabels=np.unique(labels))plt.title('Confusion Matrix')plt.xlabel('Predicted')plt.ylabel('True')plt.show()if __name__ == "__main__":# 设置实际标签和预测标签的文件夹路径label_dir = 'label'  # 替换为实际路径pred_dir = 'pred'  # 替换为实际路径# 加载标签和预测数据labels, preds = load_images_and_labels(label_dir, pred_dir)# 评估模型evaluate_model(labels, preds)

输出结果:
Accuracy: 0.9681
Precision: 0.9686
Recall: 0.9681
F1 Score: 0.9683

绘制混淆矩阵:
在这里插入图片描述

http://www.yayakq.cn/news/640383/

相关文章:

  • 美橙网站开发免费手游代理平台
  • 网站友情链接怎么样做动漫网站建设意义
  • 苏州网站开发建设公司西安微信网站建设公司
  • 网站保姆-源码下载中天建设集团有限公司山西分公司
  • 动易网站模板中石油第六建设公司网站
  • 高校网站建设管理办法网站栏目设置
  • 淘宝网站做阳光棚多少钱一平米室内设计效果图在哪里找
  • 网站建设费属于文化事业建设费辽宁建设工程信息网新点
  • 移动电子商务平台就是手机网站30条新闻摘抄
  • 长沙公司网站建设新华路网站建设
  • 如何为自己的店铺做网站网站建设与制作企业
  • 永嘉县建设局网站WordPress说说主题
  • 重庆企业型网站建设广西建设职业技术学院网站
  • 河北中凯建设有限公司网站wordpress的后台管理导航菜单
  • 咨询北京国互网网站建设wp怎么做双语网站
  • 营销型企业网站建设的基本原则是wordpress用户创建页面
  • 怎么撤销网站备案南京 网站备案
  • 股票实时交易网站开发台州网站定制
  • 网站域名买卖wordpress怎么修改固定链接
  • html5做宠物饲养网站永春县建设局网站
  • 企业合同管理系统什么叫网站优化
  • 怎么做微信小说网站吗网站 建设开发合同模板
  • 网站开发模块的需求分析浙江新地标建设集团网站
  • 网站开发学什么专业公司网站的具体的建设方案
  • 网站充值页面模板赤峰公司做网站
  • 鄠邑区建设局网站用ps怎么做网站背景
  • 备案通过后 添加网站天元建设集团有限公司邮编
  • 学做网站的学校药品和医疗器械 网站备案
  • 郑州网站搭建快照不更新
  • 广州站在哪个区网页设计和网站设计