k均值聚类中的汉明距离

时间:2012-02-21 13:22:31

标签: matlab hamming-distance

我想在Matlab中使用kmeans聚类中的汉明距离,但是我得到一个错误,说我的数据必须是二进制的。

这周围有吗?我使用的数据矩阵不能是二进制的(它有一个必须允许值为0,1,2,3的物理解释),但重要的是我使用汉明距离。

2 个答案:

答案 0 :(得分:1)

根据MATLAB documentationkmeans的汉明距离度量只能用于二进制数据,因为它是衡量不同比特百分比的指标。

在使用该函数之前,您可以尝试将数据映射为二进制表示。如果可能的话,您还可以考虑使用城市街区距离,因为它适用于非二进制输入。

答案 1 :(得分:1)

要集群的数据必须是逻辑类型。您可以通过一个命令转换0/1 double,single,uintX数据:

x = logical( y );

如果要将uint8类型数据转换为二进制,请检查函数 uint8tobit ()。看一下 de2bi ()和 bi2de ()函数。