真实世界算法 - 测量输入值的唯一性



我有一个键值对列表。对于每个键,我想看看这些值有多唯一。例如,对于特定的键 k1,所有值可能相同。(最好的情况(。对于键 k2,一半的值是一种类型,另一半是不同的。..同样,对于键 kx,没有一个值匹配(最坏情况(。

我想根据上述内容为这些键中的每一个提供排名(或百分比,等等(,并进行最终排序,以便我可以过滤掉具有许多不同值的键(假设高于预定义的阈值等级或百分比(。

我不知何故认为这与我在数据挖掘课程中学到的一些概念有些相关,但只是无法有效地回忆起来。

谢谢。

你也许可以使用一些信息论来解决这个问题。

对于每个键,您可以计算值的熵。熵越高,键的值就越多样化。您可以使用它对键进行排名。

以下文章讨论一些相关主题:计算数据挖掘的熵。

在 http://en.wikipedia.org/wiki/Association_rule_learning 的数据挖掘术语中,您可以将索引视为预测值的一种手段,在这种情况下,您可能对置信度感兴趣 - 该索引的最常见值的百分比。您还可以查看两个随机选择的值相同的概率,这将是值频率的平方和,或 http://en.wikipedia.org/wiki/Shannon_entropy - 这将具有相似的属性,但涉及对数。

最新更新