首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算归一化业力

计算归一化业力
EN

Stack Overflow用户
提问于 2010-01-05 14:09:57
回答 2查看 713关注 0票数 4

如何从系统中用户的业力计算出业力的归一化值(值在0到1之间)?

规格化值应该反映用户的业力相对于所有其他用户的值。

我想我可能不得不包括所有业力的平均和标准差,但我似乎想不出正确的公式。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-05 14:15:18

代码语言:javascript
复制
 min_karma = min(karmas)
 max_karma = max(karmas)
 normalized = (karma - min_karma) / (max_karma - min_karma)

这具有这样的属性: karma = min_karma的用户得到归一化的karma为0,karma = max_karma的用户得到1。其他用户在两者之间线性分布。你必须单独处理所有用户都有相同业力的特殊情况。

如果你想要一个非线性分布,你可以使用一个对数函数:

代码语言:javascript
复制
 normalized = (log(karma) - log(min_karma)) / (log(max_karma) - log(min_karma))

在这种情况下,重要的是业力永远不能低于1,因为这可能会扭曲结果。

票数 8
EN

Stack Overflow用户

发布于 2010-01-05 14:14:47

您可能希望计算每个用户所属的百分位数。在mysql中,您可以这样做:

http://forums.mysql.com/read.php?20,105223,105278#msg-105278

代码语言:javascript
复制
rank / total

其中,排名是业力较低的用户数量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2004472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档