analyzerRecall property

Map<String, double> get analyzerRecall

Implementation

Map<String, double> get analyzerRecall {
  final trueMap = <String, int>{};
  final falseNegMap = <String, int>{};
  for (final entry in entries) {
    for (final tp in entry.truePositives) {
      trueMap[tp.analyzerName] = (trueMap[tp.analyzerName] ?? 0) + 1;
    }
    for (final fn in entry.falseNegatives) {
      falseNegMap[fn.analyzerName] = (falseNegMap[fn.analyzerName] ?? 0) + 1;
    }
  }
  final result = <String, double>{};
  for (final key in {...trueMap.keys, ...falseNegMap.keys}) {
    final tp = trueMap[key] ?? 0;
    final fn = falseNegMap[key] ?? 0;
    result[key] = tp + fn > 0 ? tp / (tp + fn) : 1.0;
  }
  return result;
}