UNPKG

precision-recall

Version:

JS percision, recall and F1 calculation library

45 lines (36 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var defaultValues = { precision: 0, recall: 0, f: 0 }; var calculator = function calculator(relevantStrings, retrievedStrings) { if (!relevantStrings || relevantStrings.length === 0) { return defaultValues; } if (!retrievedStrings || retrievedStrings.length === 0) { return defaultValues; } var relevantSet = new Set(relevantStrings); var uniqueRelevant = Array.from(relevantSet); var retrievedSet = new Set(retrievedStrings); var uniqueRetrieved = Array.from(retrievedSet); var intersection = uniqueRelevant.filter(function (x) { return retrievedSet.has(x); }); if (!intersection || intersection.length === 0) { return defaultValues; } var precision = intersection.length / uniqueRetrieved.length; var recall = intersection.length / uniqueRelevant.length; var f = 2 * (precision * recall) / (precision + recall); return { precision: precision, recall: recall, f: f }; }; exports.default = calculator;