Ruby on rails 需要帮助最大化多个相似对象中的3个因素并适当排序
我需要用任何语言编写一个算法,根据3个因素对数组进行排序。我以度假村为例(比如Hipmunk)。假设我想去度假。我想要最便宜、评论最好、最吸引人的景点。然而,很明显,我无法找到一个在所有3个项目中都是1的项目 示例(假设有20个重要景点): 度假胜地A:$150/晚…好评率为98/100…20个景点中的18个Ruby on rails 需要帮助最大化多个相似对象中的3个因素并适当排序,ruby-on-rails,ruby,arrays,algorithm,math,Ruby On Rails,Ruby,Arrays,Algorithm,Math,我需要用任何语言编写一个算法,根据3个因素对数组进行排序。我以度假村为例(比如Hipmunk)。假设我想去度假。我想要最便宜、评论最好、最吸引人的景点。然而,很明显,我无法找到一个在所有3个项目中都是1的项目 示例(假设有20个重要景点): 度假胜地A:$150/晚…好评率为98/100…20个景点中的18个 度假酒店B:$99/晚…好评为85/100…20个景点中的12个 度假村C:$120/晚…好评91/100…20个景点中的16个 度假酒店B在价格上看起来最吸引人,但在其他两个类别中排名第
度假酒店B:$99/晚…好评为85/100…20个景点中的12个
度假村C:$120/晚…好评91/100…20个景点中的16个 度假酒店B在价格上看起来最吸引人,但在其他两个类别中排名第三。其中,我可以选择度假村C,每晚只需多花21美元,就能获得更多的景点和更好的评论。价格对我来说仍然很重要,但度假胜地A有着杰出的评论和大量的景点:51美元的花费值得吗 我希望能够填充一个列表,将lit从“最佳到最差”排序(我引用bc,这是消费者的主观判断)。我将如何最大限度地提高每个度假村的价值
- 我是否应该对每个因素(即:55%的价格、30%的评论、15%的便利设施)进行加权,然后得出一个固定数字的结果,并按照这种方式进行排序
- 我是否需要所有酒店的模式、中位数和范围,并确定平均价格,以及平均价格附近的酒店是否拥有最大的权重
如果有点困惑,请访问www.hipmunk.com。他们有一种被称为“痛苦”的飞机(还有一种类似于我的问题的旅馆),他们自己使用。我以度假村为例,希望能让我的问题更有意义。如何用数学来解决这样的问题呢?如何使用可变权重,并让用户通过一些输入(如杠杆)来调整权重,以便动态更新排序顺序?我正要讨论多因素加权排序,因为我的研究只给出了答案(例如,带有解释的公式)用于双因素排序 尽管我们都在问3个因素,我还是会列出我发现的可能,以防它们有用 可能性: 注意:
S
是“排序分数”,这是您排序的依据(asc或desc)
S=(w1*F1)+(w2*F2)+(w3*F3)
,其中wx
是任意分配的权重,Fx
是因子的值。您还需要规范化F
(即Fx\u n=Fx/Fmax
)s=1000*F1+100*F2…
s=(F2/F2_max*F1)+(1-(F2/F2_max))*F1_avg)
,其中F1
是“更重要”的因素(“文章中的反弹率”),而F2
是“显著性修改”因素(“文章中的访问”)S=(F2/(F2+F2_-lim))*F1+(F2_-lim/(F2+F2_-lim))×F1_平均值
,其中Fx
与#3相同,F2_-lim
是“显著性”因子的最小阈值限制(即不应考虑任何小于X的值)希望这能让你走上正轨。没有一种真正正确的方法可以做到这一点,因为每个人对这些因素的权重都不同。你可以试着找出普通人喜欢什么,或者某个特定的人喜欢什么,但在一般情况下,没有一个真正的衡量标准能够反映这一点。