繁体   English   中英

数组和对象数组之间的Node.js余弦相似度

[英]Node.js cosine similarity between array and object array

如何使用node.js在具有4个元素的数组向量x和对象y的数组之间找到相似性?

var similarity = require( 'compute-cosine-similarity' );

var y= [ {'1': [30,12,0,3]},
         {'2':[30,12,0,6]},
         {'3':[30,12,0,1000]} ];

var x =[2,2,2,2];

s=similarity(x, y);

console.log(s);

例如,第一次迭代应该找到

x = [2,2,2,2]

{'1': [30,12,0,3]}

等等..

您可以运行以下代码:

var similarity = require( 'compute-cosine-similarity' );

var y= [ {'1': [30,12,0,3]},
  {'2':[30,12,0,6]},
  {'3':[30,12,0,1000]} ];

var x =[2,2,2,2];
var result=[];
for(var i=0;i<y.length;i++){
  for (var key in y[i]) {
    if (y[i].hasOwnProperty(key)) {

      result.push(similarity(x, y[i][key]))
    }
  }
}
console.log(result);// will print the similarity as an array [ 0.6933752452815364, 0.7302967433402213, 0.5207282507611518 ]

如果您需要其他输出,请留下评论,谢谢!

计算数组与数组对象之间的相似度:

 var y= { '25': [30,12,0,3],
      '26':[30,12,0,6],
      '27':[30,12,0,1000] };
    var x =[2,2,2,2];

    var result=[];
    Object.keys(y).forEach(function (key) {
      // do something with obj[key]
      console.log (y[key])
      result.push(similarity(x, y[key]))

    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM