javascript - 数组和对象数组之间的Node.js余弦相似度
问题描述
如何使用 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 ]
如果您需要其他输出,请发表评论,谢谢!
推荐阅读
- java - 为什么不能列表
> 被分配到一个列表 >? - sqlite - 使用 MariaDB 而不是 SQLite 的 Jupyter Hub
- c - 问题强制从 C 中的函数返回 -1
- python - 在 virtualenv 中找不到模块
- php - 如何生成随机嵌入图片网址
- javascript - 如何在 React.js 中使用重复循环
- c++ - c++ 在不改变原始链表的情况下反转链表
- atom-editor - 在 Atom Editor 中开发 Coq 代码的标准做法是什么?
- keycloak - 由于“非法 base64 数据”,Keycloak-gatekeeper 无法解码“状态”
- javascript - 如何“等待”(或 .then())一个异步函数,但被包装在一个模块中并且不返回 Promise