首页 > 其他分享 >multi-label问题的不同metrics评估指标对比

multi-label问题的不同metrics评估指标对比

时间:2023-05-03 11:22:43浏览次数:30  
标签:multi jaccard pred label metrics score macro np true

【草稿】

其中阴影方框代表分子,白色空白方框+阴影方框代表分子

 

其中Jaccard和F1比较容易出错。

分析sklearn的jaccard_score如下:

''' jaccard 测试'''
from sklearn.metrics import jaccard_score, f1_score, hamming_loss, accuracy_score
import numpy as np
y_true = np.array([[0, 1, 0, 1, 0],[0, 0, 1, 0, 0],[1, 0, 0, 0 ,1],])
y_pred = np.array([[1, 0, 0, 0, 0],[0, 0, 1, 0 ,0],[1, 0, 0, 1, 1],])
j_macro = jaccard_score(y_true, y_pred, average='macro')
j_sample = jaccard_score(y_true, y_pred, average='samples')
j_micro = jaccard_score(y_true, y_pred, average='micro')

##### jaccard 算法 ######
xx= np.minimum(y_true, y_pred)
intersection = np.sum(np.minimum(y_true, y_pred), axis=0)
union = np.sum(np.maximum(y_true, y_pred), axis=0)
jaccard_per_class = intersection / union
macro_jaccard_score = np.mean(jaccard_per_class)
macro_jaccard_score

print('sklearn-jaccard-macro',j_macro)
print('jaccard algorithm',macro_jaccard_score)  # (1/2+0+1+0+1)/5=0.5
print('sklearn-jaccard-samples',j_sample) # (0+1+2/3)/3=5/9=0.55555
print('sklearn-jaccard-micro',j_micro)  # 3/7=0.428571428

 

 

标签:multi,jaccard,pred,label,metrics,score,macro,np,true
From: https://www.cnblogs.com/mancy-gogo/p/17368847.html

相关文章

  • cpp multi thread std::lock_guard,mutex
    #include<atomic>#include<chrono>#include<cmath>#include<condition_variable>#include<ctime>#include<fstream>#include<functional>#include<future>#include<iomanip>#include<iostream&g......
  • cpp multi thread sync via std::atomic<bool>
    #include<atomic>#include<chrono>#include<cmath>#include<condition_variable>#include<ctime>#include<fstream>#include<functional>#include<future>#include<iomanip>#include<iostream&g......
  • 问题解决:Component name "xxx" should always be multi-word vue/multi-word-compone
    如题,原因是单个单词命名时语法检测无法通过,可以在导出组件时通过name属性给组件名加一个后缀,比如Component。<script>exportdefault{//当组件名为一个单词时,语法检查是无法通过的,可以设置name的值为2个单词来规避检查。name:'HomeComponent'}<......
  • Feign使用MultipartFile
    Feign的方法参数使用MultipartFileFeign的方法参数使用MultipartFile,不能直接用,需要做一些配置。依赖包:<dependency><groupId>io.github.openfeign.form</groupId><artifactId>feign-form</artifactId><version>3.8.0</version></depend......
  • Representation Learning for Attributed Multiplex Heterogeneous Network
    目录概符号说明各种定义HeterogeneousnetworkAttributednetworkAttributedmultiplexnetwork代码CenY.,ZouX.,ZhangJ.,YangH.,ZhouJ.andTangJ.Representationlearningforattributedmultiplexheterogeneousnetwork.KDD,2019.概本文在Attributed(结......
  • 第2讲,label
    Label是Tkinter的一个重要组件,它用于显示文本或图像。importtkinterasts#创建一个名为window的窗口window=ts.Tk();#设置窗口的标题window.title("测试lable")#窗口大小500x400,屏幕定位在300,300window.geometry("500x400+300+300")#创建标签label=ts.Label(......
  • 一统天下 flutter - widget 布局类(可以有多个子): CustomMultiChildLayout - 自定义多
    源码https://github.com/webabcd/flutter_demo作者webabcd一统天下flutter-widget布局类(可以有多个子):CustomMultiChildLayout-自定义多组件布局示例如下:lib\widget\layout\custom_multi_child_layout.dart/**CustomMultiChildLayout-自定义多组件布局*......
  • Label。它的常用方法及其参数说明
    get():获取标签的文本内容。返回值为字符串类型。、my_label=Label(text='Hello,Kivy!')text=my_label.get()print(text)set(text):设置标签的文本内容。text参数为要设置的文本内容。my_label=Label()my_label.set('Hello,Kivy!')set_font_size(size):设置标......
  • Spring RestTemplate为何必须搭配MultiValueMap?
    微服务之间的大多都是使用HTTP通信,这自然少不了使用HttpClient。在不适用Spring前,一般使用ApacheHttpClient和OkHttpClient等,而一旦引入Spring,就有了更好选择-RestTemplate。 想接受一个Form表单请求,读取表单定义的两个参数para1和para2,然后作为响应返回......
  • DDP运行报错(单卡无错):ERROR:torch.distributed.elastic.multiprocessing.api:failed (e
    使用DDP时出现错误,但是单卡跑无错误。错误记录如下:RuntimeError:Expectedtohavefinishedreductionintheprioriterationbeforestartinganewone.Thiserrorindicatesthatyourmodulehasparametersthatwerenotusedinproducingloss.Youcanenableunu......