Multiset-Jaccard
A Jaccard Index calculator supporting multi-set
Installation
$ npm install --save multiset-jaccard
How to use
Get Jaccard-index between two arrays
var jaccard = ; var A = "Apple""Banana""Apple""Cherry""Mango"; // multi-set var B = "Apple""Cherry""Melon""Orange"; var index = jaccardindexA B; /* result : 0.2857142857142857 */ // Below is asynchronous method jaccardindexA B { console; }; /* result : 0.2857142857132857 */
If you want to make Counter
, make instances like this.
var A = "Apple""Banana""Apple""Cherry""Mango"; var A_Counter = A; /* A_Counter.elements : {{"Apple" : 2}, {"Banana" : 1}, {"Cherry" : 1}, {"Mango" : 1}} A_Counter.keys() returns ["Apple","Banana","Cheery","Mango"] A_Counter.values() returns [2,1,1,1] */
And you can get sum of Counters
and product of Counters
like this.
var A = "Apple""Banana""Apple""Cherry""Mango"; // multi-set var B = "Apple""Cherry""Melon""Orange"; var A_Counter = A; var B_Counter = B; var sum = jaccard; var product = jaccardproductA_Counter B_Counter; /* sum : {{"Apple": 2}, {"Banana": 1}, {"Cherry": 1}, {"Mango": 1}, {"Melon": 1}, {"Mango": 1}} product : {{"Apple": 1}, {"Cherry": 1"}} */
You can get same result by putting arrays. (0.1.2v)
var sum = jaccard; var product = jaccardproductA B;