Class: Necropsy::Bench::Evaluator
- Inherits:
-
Object
- Object
- Necropsy::Bench::Evaluator
- Defined in:
- lib/necropsy/bench/evaluator.rb
Constant Summary collapse
- ABLATION_ANALYZERS =
{ 'name_resolution' => [Analyzers::Static::NameResolution], 'cha' => [Analyzers::Static::CHA], 'rta' => [Analyzers::Static::RTA], 'name_resolution+cha' => [Analyzers::Static::NameResolution, Analyzers::Static::CHA], 'name_resolution+rta' => [Analyzers::Static::NameResolution, Analyzers::Static::RTA], 'all_static' => [Analyzers::Static::NameResolution, Analyzers::Static::CHA, Analyzers::Static::RTA] }.freeze
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(report:, gold_standard_path:, min_confidence: :low, root: nil, config_path: nil, ablation: false, feature_ablation: {}, precision_threshold: 0.85, recall_threshold: nil) ⇒ Evaluator
constructor
A new instance of Evaluator.
Constructor Details
#initialize(report:, gold_standard_path:, min_confidence: :low, root: nil, config_path: nil, ablation: false, feature_ablation: {}, precision_threshold: 0.85, recall_threshold: nil) ⇒ Evaluator
Returns a new instance of Evaluator.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/necropsy/bench/evaluator.rb', line 18 def initialize( report:, gold_standard_path:, min_confidence: :low, root: nil, config_path: nil, ablation: false, feature_ablation: {}, precision_threshold: 0.85, recall_threshold: nil ) @report = report @gold_standard_path = gold_standard_path @min_confidence = min_confidence @root = root @config_path = config_path @ablation = ablation @feature_ablation = feature_ablation @precision_threshold = precision_threshold @recall_threshold = recall_threshold end |
Instance Method Details
#call ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/necropsy/bench/evaluator.rb', line 40 def call result = metrics_for(report) result['identity_views'] = identity_views(report) result['quality'] = quality_metrics(report) result['by_category'] = category_metrics(report) result['by_classification'] = grouped_metrics(:classification) result['by_confidence'] = grouped_metrics(:confidence) result['ablation'] = ablation_metrics if ablation && root result['feature_ablation'] = feature_ablation_metrics unless feature_ablation.empty? result['release_criteria'] = release_criteria(result) result end |