-
Notifications
You must be signed in to change notification settings - Fork 224
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
90 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,34 +1,36 @@ | |||
var assert = require('assert'); | var assert = require('assert'); | ||
var ss = require('../'); | var ss = require('../'); | ||
|
|
||
it('makes an easy call with one training round', function() { | describe('bayes', function() { | ||
var bayes = ss.bayesian(); | it('makes an easy call with one training round', function() { | ||
bayes.train({ species: 'Cat' }, 'animal'); | var bayes = ss.bayesian(); | ||
assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 1 }); | bayes.train({ species: 'Cat' }, 'animal'); | ||
}); | assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 1 }); | ||
}); | |||
|
|
||
it('makes fify-fifty call', function() { | it('makes fify-fifty call', function() { | ||
var bayes = ss.bayesian(); | var bayes = ss.bayesian(); | ||
bayes.train({ species: 'Cat' }, 'animal'); | bayes.train({ species: 'Cat' }, 'animal'); | ||
bayes.train({ species: 'Cat' }, 'chair'); | bayes.train({ species: 'Cat' }, 'chair'); | ||
assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 0.5, chair: 0.5 }); | assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 0.5, chair: 0.5 }); | ||
}); | }); | ||
|
|
||
it('makes seventy-five/twenty-five call', function() { | it('makes seventy-five/twenty-five call', function() { | ||
var bayes = ss.bayesian(); | var bayes = ss.bayesian(); | ||
bayes.train({ species: 'Cat' }, 'animal'); | bayes.train({ species: 'Cat' }, 'animal'); | ||
bayes.train({ species: 'Cat' }, 'animal'); | bayes.train({ species: 'Cat' }, 'animal'); | ||
bayes.train({ species: 'Cat' }, 'animal'); | bayes.train({ species: 'Cat' }, 'animal'); | ||
bayes.train({ species: 'Cat' }, 'chair'); | bayes.train({ species: 'Cat' }, 'chair'); | ||
assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 0.75, chair: 0.25 }); | assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 0.75, chair: 0.25 }); | ||
}); | }); | ||
|
|
||
it('classifies multiple things', function() { | it('classifies multiple things', function() { | ||
var bayes = ss.bayesian(); | var bayes = ss.bayesian(); | ||
bayes.train({ species: 'Cat' }, 'animal'); | bayes.train({ species: 'Cat' }, 'animal'); | ||
bayes.train({ species: 'Dog' }, 'animal'); | bayes.train({ species: 'Dog' }, 'animal'); | ||
bayes.train({ species: 'Dog' }, 'animal'); | bayes.train({ species: 'Dog' }, 'animal'); | ||
bayes.train({ species: 'Cat' }, 'chair'); | bayes.train({ species: 'Cat' }, 'chair'); | ||
assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 0.25, chair: 0.25 }); | assert.deepEqual(bayes.score({ species: 'Cat' }), { animal: 0.25, chair: 0.25 }); | ||
assert.deepEqual(bayes.score({ species: 'Dog' }), { animal: 0.5, chair: 0 }); | assert.deepEqual(bayes.score({ species: 'Dog' }), { animal: 0.5, chair: 0 }); | ||
}); | |||
}); | }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,8 +1,18 @@ | |||
var assert = require('assert'); | var assert = require('assert'); | ||
var ss = require('../'); | var ss = require('../'); | ||
|
|
||
it('correctly generates a line for a 0, 0 to 1, 1 dataset', function() { | describe('linear regression', function() { | ||
var l = ss.linear_regression().data([[0, 0], [1, 1]]); | it('correctly generates a line for a 0, 0 to 1, 1 dataset', function() { | ||
assert.equal(l.line()(0), 0); | var l = ss.linear_regression().data([[0, 0], [1, 1]]); | ||
assert.equal(l.line()(1), 1); | assert.equal(l.line()(0), 0); | ||
assert.equal(l.line()(0.5), 0.5); | |||
assert.equal(l.line()(1), 1); | |||
}); | |||
|
|||
it('correctly generates a line for a 0, 0 to 1, 0 dataset', function() { | |||
var l = ss.linear_regression().data([[0, 0], [1, 0]]); | |||
assert.equal(l.line()(0), 0); | |||
assert.equal(l.line()(0.5), 0); | |||
assert.equal(l.line()(1), 0); | |||
}); | |||
}); | }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,6 +1,14 @@ | |||
var assert = require('assert'); | var assert = require('assert'); | ||
var ss = require('../'); | var ss = require('../'); | ||
|
|
||
it('can get the mean of two numbers', function() { | describe('mean', function() { | ||
assert.equal(ss.mean([1, 2]), 1.5); | it('can get the mean of two numbers', function() { | ||
assert.equal(ss.mean([1, 2]), 1.5); | |||
}); | |||
it('can get the mean of one number', function() { | |||
assert.equal(ss.mean([1]), 1); | |||
}); | |||
it('an empty list has no average', function() { | |||
assert.equal(ss.mean([]), null); | |||
}); | |||
}); | }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,20 +1,20 @@ | |||
var assert = require('assert'); | var assert = require('assert'); | ||
var ss = require('../'); | var ss = require('../'); | ||
|
|
||
// Data and results from | describe('mixin', function() { | ||
// [Wikipedia](http://en.wikipedia.org/wiki/Quantile#Quantiles_of_a_population) | it('can mix in', function() { | ||
it('can mix in', function() { | ss.mixin(); | ||
ss.mixin(); | var even = [2, 4, 6, 8]; | ||
var even = [2, 4, 6, 8]; | assert.equal(even.sum(), 20); | ||
assert.equal(even.sum(), 20); | assert.equal(even.mean(), 5); | ||
assert.equal(even.mean(), 5); | assert.equal(even.max(), 8); | ||
assert.equal(even.max(), 8); | assert.equal(even.min(), 2); | ||
assert.equal(even.min(), 2); | }); | ||
}); | |||
|
|
||
it('mixins can take arguments', function() { | it('mixins can take arguments', function() { | ||
ss.mixin(); | ss.mixin(); | ||
var even = [2, 4, 6, 8]; | var even = [2, 4, 6, 8]; | ||
assert.equal(even.quantile(0.2), 2); | assert.equal(even.quantile(0.2), 2); | ||
assert.equal(even.quantile(0.8), 8); | assert.equal(even.quantile(0.8), 8); | ||
}); | |||
}); | }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,10 +1,12 @@ | |||
var assert = require('assert'); | var assert = require('assert'); | ||
var ss = require('../'); | var ss = require('../'); | ||
|
|
||
it('can get the sum of two numbers', function() { | describe('sum', function() { | ||
assert.equal(ss.sum([1, 2]), 3); | it('can get the sum of two numbers', function() { | ||
}); | assert.equal(ss.sum([1, 2]), 3); | ||
}); | |||
|
|
||
it('the sum of no numbers is zero', function() { | it('the sum of no numbers is zero', function() { | ||
assert.equal(ss.sum([]), 0); | assert.equal(ss.sum([]), 0); | ||
}); | |||
}); | }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,7 +1,9 @@ | |||
var assert = require('assert'); | var assert = require('assert'); | ||
var ss = require('../'); | var ss = require('../'); | ||
|
|
||
it('can compare a known value to the mean of samples', function() { | describe('t test', function() { | ||
var t = ss.t_test([1, 2, 3, 4, 5, 6], 3.385); | it('can compare a known value to the mean of samples', function() { | ||
assert.equal(t, 0.1649415480881466); | var t = ss.t_test([1, 2, 3, 4, 5, 6], 3.385); | ||
assert.equal(t, 0.1649415480881466); | |||
}); | |||
}); | }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters