【发布时间】:2013-01-21 18:29:42
【问题描述】:
我有一个想要在网页中显示为标签云的单词列表。每个词都有一个相应的“权重”,它决定了这个词在标签云中应该出现的大小。
假设这个数组包含每个单词被用来标记文档的次数,我想使用这些值作为每个单词的权重:
int [] ints = new int[] { 1, 2, 4, 3, 2, 1, 4, 2, 1000};
我希望权重范围在指定范围内,这样渲染代码就有一组可预测的数字来处理,但是我不想简单地对这些整数进行标准化,因为除了最后一个之外的所有整数都将基本上为零.
如果发生这种情况,那么标签云中的单个项目会非常大,而所有其他标签都会很小。我正在寻找一种将所有整数压缩到有限范围内同时保持一定程度的多样性的方法。
那么我怎样才能转换集合以使最终的大值不会使其他值变得无关紧要?
【问题讨论】:
-
这不清楚。你想用这些值做什么?
-
如果我正确理解您的问题,您可以考虑在标准化整数之前使用Logarithmic scale。
-
这里最有可能的方法是规范化日志
-
@OliCharlesworth 请看问题。
标签: c# algorithm distribution statistics