请问如何计算两个人的“相似度”?

发布于 2022-09-11 20:46:59 字数 246 浏览 40 评论 0

现在有两个人的数据:

属性 ---- 张三 ---- 李四
年龄 ---- 28 ------ 30 (岁)
身高 ---- 170 ----- 175 (cm)
体重 ---- 65 ------ 68 (kg)
婚否 ---- 已婚 ---- 未婚
学历 ---- 本科 ---- 硕士

我希望算出一个数,在[0, 1]区间里,表示两人的“相似度”(0=一点不像,1=完全相同),请问该如何计算呢?谢谢大家!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烛影斜 2022-09-18 20:46:59

首先要针对具体的需求给每个属性响应的权重,比如:未婚、已婚属性和本科、硕士属性,然后对每个属性进行归一化。
假设:
本科 10 ,硕士 20,博士 30
已婚 0,未婚 1
张三:[28 170 65 0 10] 李四:[30 175 68 1 20]

计算余弦距离:
余弦距离

这样计算的距离可能与希望的不一致,因为,身高的数值大,未婚、已婚的数值小,可以在这个基础上给每个属性乘以一个权重,再进行计算

愿得七秒忆 2022-09-18 20:46:59

把已婚未婚01化,把学历量化。
这样一个人就是一个向量,问题转化为向量距离计算,常见的有欧式距离、马氏距离、余弦夹角等。
需要注意把每个量都要归一化,避免某个量影响太大(如身高值很大),也可以自己按需设计权重。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文