【发布时间】:2019-02-19 11:56:36
【问题描述】:
我正在针对机器学习问题执行特征提取过程,但遇到了问题。
考虑一组产品。每个产品都被评为 0 或 1,分别对应 bad 或 good。现在我想为每个独特的产品计算 [0, n] 区间内的评分,其中 n 是大于 0 的整数。
每种产品的总评分明显不同,因此简单的平均会引发以下问题:
avg_ratio_score = good_rates / total_rates
a) 1/1 = 1
b) 95/100 = 0.95
即使 ratio a) 更高,ratio b) 也会让用户更有信心。因此,我需要一个加权平均值。
问题是选择什么重量。产品的频率从 100 到 100k 不等。
我的第一个方法如下:
ratings frequency interval weight
-------------------------- ------
90k - 100k 20
80k - 90k 18
70k - 80k 16
60k - 70k 14
50k - 60k 12
40k - 50k 11
30k - 40k 10
20k - 30k 8
10k - 20k 6
5k - 10k 4
1k - 5k 3
500 - 1k 2
100 - 500 1
1 - 100 0.5
weighted_rating_score = good_ratings * weight / total_ratings
起初这听起来像是一个很好的解决方案,但看看一个真实的例子,它可能并不像看起来那么好:
a. 90/100 = 0.9 * 0.5 = 0.45
b. 50k/100k = 0.5 * 20 = 10
这样的结果表明产品 b) 是比产品 a) 更好的替代品,但查看原始比率可能并非如此。
我想知道一种有效的(如果有的话)计算完美重量或其他类似建议的方法。
【问题讨论】:
标签: feature-extraction weighted-average