2014-06-28 57 views
-1

我试图计算排序MySQL的产品结果集取决于“高相关性的因素”产品排序计算系数

随着“相关系数”我的意思是考虑计算出的值的值:

  • 观点:该产品是多少时间购买
  • customer_purchased:产品
  • 购买的总的看法是产品多少时间由客户购买
  • 价格::
  • 数量:数量(产品具有低级别的股票应该具有低相关性的因素)

您能否提供一些公式来得到这个值?

谢谢

+0

你刚才问我们帮助你的任务吗? – Sufian

+0

嗨Sufian,AbcAeffchen低于命中目标,谢谢 –

+0

我猜mods也会点击一个按钮,他们称之为“关闭投票”按钮。 ;) – Sufian

回答

0

我认为你可以基本上使用任何公式。这个问题只有在您的使用情况足够好的情况下。

所以这是一个examlpe:

relevance = a * [views] + b * [purchased] + c * [c_purchased] + d * [price] + e * [qty] 

现在,你必须选择一些数值为常数abcde考虑一些规则:

  • 如果高你的属性的值是好的,那么常量应该是positiv,否则negativ
  • 更重要的属性是,th如果一个属性比每个其他属性都重要(并且它的值大于1),那么你可以将这个属性值改为
  • ,注意到某些属性值比其他属性值小得多,所以你必须纠正这一点。

,所以也许你会选择这样的事情:

relevance = 0.01 * [views] + 2 * [purchased] + 5 * [c_purchased] + -1 * [price]^2 + 1 * [qty] 

原因:

  • 我认为会比购买多铁道部的意见,所以我想它们缩小。如果我不这样做,相关性将基本反映视图的数量。
  • 其他属性具有相同大小的值(让10和500具有相同的大小,但不是10和1000或10000),因此常量的大小相同。
  • 我supose购买的不是customer_purchased不太相关,所以我选择2和5个作为常数因子
  • 以低廉的价格是非常相关的,所以我必须选择一个是负面的号码和我的平方的价格,所以有一个非常大的代价将会比一个小的价格降低相关性。

你将不得不选择你自己的常量,因为我只是选择任何常量而没有关于属性期望值的信息。

我希望这可以帮助

+0

非常有趣的答复,我想我会玩单一因素来满足我的需求。也许我可以反转购买和购买c_purchased的重要性,另外一个客户可以看到他已经购买的产品。谢谢 –