New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

accuracy-meter

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

accuracy-meter - npm Package Compare versions

Comparing version 1.1.1 to 1.1.2

test/test.js

94

accuracy-meter.js

@@ -0,44 +1,78 @@

var Table = require('cli-table');
var AccuracyMeter=module.exports=function AccuracyMeter(){
this.numberOfFalsePositive=0;
this.numberOfFalseNegative=0;
this.numberOfTruePositive=0;
var AccuracyMeter = module.exports = function AccuracyMeter() {
this.numberOfFalsePositives = 0;
this.numberOfFalseNegatives = 0;
this.numberOfTruePositives = 0;
}
AccuracyMeter.prototype.add=function(predicted, golden){
var numberOfTruePositives;
var numberOfFalseNegatives;
var numberOfFalsePositives;
AccuracyMeter.prototype.add = function(predicted, golden) {
var numberOfTruePositives;
var numberOfFalseNegatives;
var numberOfFalsePositives;
if (!Array.isArray(predicted) || !Array.isArray(golden)){
throw new Error('Please pass to add() function 2 arrays: predicted labels and golden labels');
}
if (!Array.isArray(predicted) || !Array.isArray(golden)) {
throw new Error('Please pass to add() function 2 arrays: predicted labels and golden labels');
}
numberOfTruePositives=predicted.filter(function(pred){
return golden.indexOf(pred)>=0;
numberOfTruePositives = predicted.filter(function(pred) {
return golden.indexOf(pred) >= 0;
}).length;
numberOfFalseNegatives = golden.filter(function(gold) {
return predicted.indexOf(gold) < 0;
}).length;
numberOfFalsePositives = predicted.filter(function(pred) {
return golden.indexOf(pred) < 0;
}).length;
this.numberOfFalsePositives = this.numberOfFalsePositives + numberOfFalsePositives;
this.numberOfTruePositives = this.numberOfTruePositives + numberOfTruePositives;
this.numberOfFalseNegatives = this.numberOfFalseNegatives + numberOfFalseNegatives;
};
AccuracyMeter.prototype.getResultToStringMethod = function(precision, recall, fscore) {
return function() {
var table = new Table({
head: ['Precision', 'Recall', 'Fscore'],
colWidths: [100, 200]
});
numberOfFalseNegatives=golden.filter(function(gold){
return predicted.indexOf(gold)<0;
});
numberOfFalsePositives=predicted.filter(function(pred){
return golden.indexOf(pred)<0;
});
this.numberOfFalsePositive=this.numberOfFalsePositive+numberOfFalsePositives;
this.numberOfTruePositives=this.numberOfTruePositives+numberOfTruePositives;
this.numberOfFalseNegatives=this.numberOfFalseNegatives+numberOfFalseNegatives;
table.push([precision, recall, fscore]);
return table.toString();
};
};
AccuracyMeter.prototype.print=function(){
var precision;
var recall;
var fmesasure;
AccuracyMeter.prototype.get = function() {
var precision;
var recall;
var fscore;
precision = this.numberOfTruePositives / (this.numberOfTruePositives + this.numberOfFalsePositives);
recall = this.numberOfTruePositives / (this.numberOfTruePositives + this.numberOfFalseNegatives);
fscore = 2 * (precision * recall) / (precision + recall);
return {
precision: precision,
recall: recall,
fscore: fscore,
toString: this.getResultToStringMethod(precision, recall, fscore)
};
};
AccuracyMeter.prototype.print = function() {
console.log(this.get().toString());
};
{
"name": "accuracy-meter",
"version": "1.1.1",
"version": "1.1.2",
"description": "",
"main": "accuracy-meter.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "cd test && mocha ./test.js"
},
"author": "",
"license": "ISC"
"license": "ISC",
"dependencies": {
"cli-table": "^0.3.1"
},
"devDependencies": {
"chai": "^3.5.0"
}
}

@@ -21,1 +21,23 @@ # accuracy-meter

```
## API
### add(predicted, golden)
It adds a pair <predicted, golden>, representing the set of prdicted labels and the set of golden labels. Golden and predicted labels are both arrays.
### get()
It returns an object containing:
* precision
* recall
* fscore
# Why
* node.js is not a standard language for NLP tasks, but...
* machine learning is more and more in the cloud (check Watson NLP Classifier)
* machine learning is becoming just a set of Http end points to invoke
* node.js is perfect as middleware and client among Http end points
* ...accuracy-meter might help you to measure the accuracy of your algorithms in the cloud
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc