mAP计算

Posted PirateLHX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mAP计算相关的知识,希望对你有一定的参考价值。

import sys
import csv

def MeanAveragePrecision(valid_filename, attempt_filename, at=10):
    at = int(at)
    valid = dict()
    for line in csv.DictReader(open(valid_filename,‘r‘)):
        valid.setdefault(line[‘source_node‘],set()).update(line[‘destination_nodes‘].split(" "))
    attempt = list()
    for line in csv.DictReader(open(attempt_filename,‘r‘)):
        attempt.append([line[‘source_node‘], line[‘destination_nodes‘].split(" ")])
    average_precisions = list()
    for entry in attempt:
        node = entry[0]
        predictions = entry[1]
        correct = list(valid.get(node,dict()))
        total_correct = len(correct)
        if len(predictions) == 0 or total_correct == 0:
            average_precisions.append(0)
            continue
        running_correct_count = 0
        running_score = 0
        for i in range(min(len(predictions),at)):
            if predictions[i] in correct:
                correct.remove(predictions[i])
                running_correct_count += 1
                running_score += float(running_correct_count) / (i+1)
        average_precisions.append(running_score / min(total_correct, at))
    return sum(average_precisions) / len(average_precisions)

if __name__ == "__main__":
    if len(sys.argv) == 3:
        print MeanAveragePrecision(sys.argv[1], sys.argv[2])
    elif len(sys.argv) == 4:
        print MeanAveragePrecision(sys.argv[1], sys.argv[2], sys.argv[3])
    else:
        print "args: valid.csv attempt.csv [10]"

 https://gist.github.com/ajschumacher/2891017

以上是关于mAP计算的主要内容,如果未能解决你的问题,请参考以下文章

CSP核心代码片段记录

RecyclerView holder中的Android Google Maps动态片段

将多个输出中的hls属性设置为单独的片段代码

android google map supportmap片段无法在片段中初始化

比较有用的php代码片段

JavaScript 代码片段