我有一组键值对。对于每个键,我希望查看其值的唯一性。例如,对于特定的键k1,所有的值可能都是相同的(最佳情况)。对于键k2,一半的值属于一种类型,另一半则不同……类似地,对于键kx,所有的值都不匹配(最差情况)。
我想根据上述情况为每个键分配排名(或百分比,随便什么),并最终进行排序,以便我可以筛选出那些具有许多不同值的键(假设超过预定义的阈值排名或百分比)。
我隐约觉得这与我在数据挖掘课程中学到的一些概念有关,但就是无法有效地回忆起来。
谢谢。
回答:
你可以考虑使用信息论来解决这个问题。
对于每个键,你可以计算其值的熵。熵越高,键的值就越多样。你可以用这个来对键进行排名。
以下文章讨论了一些相关主题:计算数据挖掘的熵。