Algorithm 如何计算匹配/绝对值的百分比

Algorithm 如何计算匹配/绝对值的百分比,algorithm,statistics,average,Algorithm,Statistics,Average,很难解释…让我试试: 我构建了一个脚本,比较两个用户的兴趣(爱好) 假设userA有44个爱好,与userB有13个共同爱好(userB有19个爱好) 因此,在伪代码中(其中%是我的公式): 考虑到用户的爱好没有限制,可以是100、20或无限 我如何计算并显示userA与世界其他地区之间的“兼容性”百分比? 因为我的想法是,如果我知道爱好的最大数量是20,我会做一个简单的等式(用户a和B之间) percent=13/20*100因此,在用户A和用户B之间,我可以显示“您匹配65%” 但是我的问题

很难解释…让我试试:

我构建了一个脚本,比较两个用户的兴趣(爱好)

假设userA有44个爱好,与userB有13个共同爱好(userB有19个爱好) 因此,在伪代码中(其中%是我的公式):

考虑到用户的爱好没有限制,可以是100、20或无限

我如何计算并显示userA与世界其他地区之间的“兼容性”百分比?

因为我的想法是,如果我知道爱好的最大数量是20,我会做一个简单的等式(用户a和B之间)

percent=13/20*100
因此,在用户A和用户B之间,我可以显示“您匹配65%”

但是我的问题是我不知道20的值(最大值)!那是我的问题

你很接近了

在您的示例中,用户A与用户B的兼容性百分比=13/19(总用户B爱好)=68.4%

用户B与用户A的兼容性百分比=13/44(用户A的爱好总数)=29.5%

你接近了

在您的示例中,用户A与用户B的兼容性百分比=13/19(总用户B爱好)=68.4%


用户B与用户A的兼容性百分比=13/44(总用户A爱好)=29.5%

我认为首先需要计算独特爱好的总数,在您的情况下,它介于44+19(所有不同)和19(所有常见)=总数之间。然后你需要知道普通爱好的数量13=普通。然后,匹配系数将为:

COMPATIBILITY = COMMON_HOBBIES/TOTAL_HOBBIES *100%

我认为首先你需要计算出独特爱好的总数,在你的例子中,这是在44+19(所有不同)和19(所有共同)=总数之间。然后你需要知道普通爱好的数量13=普通。然后,匹配系数将为:

COMPATIBILITY = COMMON_HOBBIES/TOTAL_HOBBIES *100%

哦,对了……我明白了,基本上每次最大值(在我的例子中为20)都会被用户B的爱好总数替换掉……如果用户B的爱好比用户A少怎么办?@camelCase:你从另一个人那里得到爱好总数(除数)。在你的例子中,A使用B的总数,B使用A的总数。是的,我得到了那部分…它是有效的…但我想知道在另一种情况下会发生什么:当一个用户A有100个爱好时,用户B有50个,用户C有25个。他们都有相同的10个共同兴趣点:这意味着兴趣较少的用户会有更高的百分比,因为他拥有的项目较少……我错了吗?@camelCase:我想你想要的是将交集(a,B)除以并集(a,B)。如果A=44,B=19,HobbiesInCommon=13,那么A和B的并集是50(假设我的数学是正确的)。A->B的分数与B->A=13/50=26%的分数相同。@camelCase:另一方面,如果你在寻找一个方向吸引指示器,其中A->B不一定与B->A相同,那么你可以将交点(A,B)除以用A来表示A对B的吸引力,或用B来划分交叉点(A,B)来表示B对A的吸引力。前者为13/44=29.5%,后者为13/19=68.4%。B对A的吸引力大于A对B的吸引力。哦,对了……我明白了,基本上每次最大值(在我的例子中为20)都会被用户B的爱好总数所取代……如果用户B的爱好比用户A少怎么办?@camelCase:你从另一个人那里得到爱好总数(除数)。在你的例子中,A使用B的总数,B使用A的总数。是的,我得到了那部分…它是有效的…但我想知道在另一种情况下会发生什么:当一个用户A有100个爱好时,用户B有50个,用户C有25个。他们都有相同的10个共同兴趣点:这意味着兴趣较少的用户会有更高的百分比,因为他拥有的项目较少……我错了吗?@camelCase:我想你想要的是将交集(a,B)除以并集(a,B)。如果A=44,B=19,HobbiesInCommon=13,那么A和B的并集是50(假设我的数学是正确的)。A->B的分数与B->A=13/50=26%的分数相同。@camelCase:另一方面,如果你在寻找一个方向吸引指示器,其中A->B不一定与B->A相同,那么你可以将交点(A,B)除以用A来表示A对B的吸引力,或用B来划分交叉点(A,B)来表示B对A的吸引力。前者为13/44=29.5%,后者为13/19=68.4%。B对A的吸引力大于A对B的吸引力。