我不知道从哪里开始集群分布并找出相似的相似之处。R中有一个包可以完成这项工作吗?
如何聚类直方图或密度分布?
数据挖掘
r
聚类
k-均值
2022-02-14 14:32:26
3个回答
有很多方法可以衡量两个分布之间的差异。看看维基百科上的这篇概述文章。
在机器和深度学习中经常使用的一种非常常见的方法是Kullback-Leibler (KL) Divergence。它最常用于最小化训练数据分布与您正在分析的问题的预期(广义)分布之间的交叉熵。一般来说,接近0的值表示预计两个分布会表现出相似的行为,而较大的值表示分布的行为非常不同 - 因此了解第一个分布并不能帮助您了解第二个分布。
更一般的分布之间差异度量的类别是所谓的-divergence,“一个平均值,由函数加权[概率测量] 给出的优势比和”。维基百科的文章包含一个正式的定义和一个带有函数的表这给出了一些流行的差异/距离,包括 KL 散度。
下表列出了概率分布和概率分布之间的许多常见差异它们对应的功能(参见 Liese & Vajda (2006))
KL-Divergence 与熵本身相结合,定义了交叉熵。在 Information Theory View 下查看这里,了解更多信息。
使用流行的K-means 聚类算法结合Hellinger距离作为距离度量。
海灵格距离量化了两个分布/直方图之间的相似性,因此它可以很容易地与 K-means 合并为您的目的:)
安装broom
包,并阅读小插图,尤其是“ kmeans with dplyr and broom ”。这个小插曲包含一个冗长、简洁、有效的示例,可能会给您一个良好的开端。
broom 包在整洁的数据框中总结了有关统计对象的关键信息。这使得报告结果、创建绘图和同时处理大量模型变得容易。
其它你可能感兴趣的问题