-
Notifications
You must be signed in to change notification settings - Fork 0
/
precision.js
67 lines (46 loc) · 1.57 KB
/
precision.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
var colors = require('colors');
var request = require('request');
var _ = require('underscore');
var fs = require('fs');
var url = 'http://localhost:2100/api/job?job=51f2999743a858b85300000c&populate=objects&select=objects';
var correctPositionKey = 'position'
var correctSpoilerKey = 'spoiler'
var spoilerResultKey = 'maj_51f2999743a858b85300003c_result'
var positionResultKey = 'maj_51f2999743a858b85300003a_result'
request.get(url,function(err,data){
if (err) return console.log(err);
var objects = JSON.parse(data.body).objects;
var sCount = 0;
var pCount = 0;
var sCorrect = 0;
var pCorrect = 0;
_.each(objects,function(object){
var correctPosition = _.findWhere(object.metadata,{key:correctPositionKey}).value;
var correctSpoiler = _.findWhere(object.metadata,{ key:correctSpoilerKey}).value;
var results = _.filter(object.metadata,function(m){
return m.key.match(/^.*result$/);
});
if(results[0].value === 'yes' || results[0].value === 'no'){
spoilerResult = results[0].value;
positionResult = results[1].value;
}else{
spoilerResult = results[1].value;
positionResult = results[0].value;
}
sCount++
pCount++
if(correctPosition === positionResult){
pCorrect++
}
if(correctSpoiler === spoilerResult){
sCorrect++
}
});
console.log('Spoiler classification:')
console.log('Correct: '+sCorrect +' over '+sCount);
console.log('Precition: '+ sCorrect/sCount);
console.log('\n');
console.log('Position classification:')
console.log('Correct: '+pCorrect +' over '+pCount);
console.log('Precition: '+ pCorrect/pCount);
})