python中topk算法的示例

  介绍

这篇文章给大家分享的是有关python中topk算法的示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

直接看代码吧!

# !康德:utf - 8      def  quick_index(数组,,,,结束):   ,左,right =,开始,结束=,key 数组(左)   ,while  left  & lt;右:   while 才能left  & lt;, right 以及数组(右),祝辞,关键:   ,,right  -=1   数组(左),才能=,数组(右)   while 才能left  & lt;, right 以及数组(左),& lt;,关键:   ,,left  +=1   数组(右),才能=,数组(左)      ,数组(左)=,关键   return 离开         def  min_num(数组,,米):   ,开始,最终获得=,0,,len(数组),安康;1=,,index  quick_index(数组,,开始,结束)   ,while  index  !=, m:   if 才能index  & lt;, m:   ,,index =, quick_index(数组,,指数+ 1,,结束)   其他的才能:   ,,index =, quick_index(数组,,首先,,指数)      ,打印(数组[m]):      if  __name__ ==, & # 39; __main__ # 39;:=,alist [15, 54岁,26岁,93年,17日,77年,31日,44岁,55岁,20)      ,min_num(倾斜的,5)

<强>补充知识: <强> python numpy求top-k精度指标

top-k acc表示在多分类情况下取最高的k类得分的标签,与真实值匹配,只要有一个标签匹配,结果就是真的。

如对于一个有5类的多分类任务

a_real =1   a_pred =, (0.02, 0.23, 0.35, 0.38, 0.02)      # top-1    时间=a_pred_label  3, match =False   #前三   a_pred_label_list =, (1, 2, 3], match 真正=,

对于(精度

sklearn。精度指标提供的方法,能够直接计算得分,但是对于topk-acc就需要自己实现了:

# 5类:0,1,2,3,4   import  numpy  as  np   a_real =, np.array ([[1], [2],, [1], [3]])   #用随机数代替分数   时间=random_score  np.random.rand ((4、5))   时间/时间=a_pred_score  random_score  random_score.sum(轴=1).reshape (random_score.shape [0],, 1)      时间=k  3 #前三   #以下是计算方法   时间=max_k_preds  a_pred_score.argsort(轴=1)(:,- k:)(:,:: 1), #得到top-k 标签   时间=match_array  np.logical_or.reduce (max_k_preds==a_real,轴=1),#得到匹配结果   时间=topk_acc_score  match_array.sum (),/match_array。形状[0]

感谢各位的阅读!关于“python中topk算法的示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

python中topk算法的示例