有没有人知道在离散和连续属性上执行聚类的好算法?我正在研究识别一组类似客户的问题,每个客户都有离散和连续的属性(思考客户类型,该客户产生的收入金额,地理位置等)。

传统上像K-means或EM这样的算法用于连续属性,如果我们混合了连续属性和离散属性会怎么样?

有帮助吗?

解决方案

如果我没记错的话,那么COBWEB算法可以使用离散属性。

您还可以对离散属性执行不同的“技巧”,以创建有意义的距离指标。

你可以google进行分类/离散属性的聚类,这是首批点击之一: ROCK:一种用于分类属性的鲁棒聚类算法

其他提示

R是一个很好的聚类工具 - 标准方法是使用 daisy ,然后使用 agnes

CRAN上的 cba 模块包括一个基于ROCK聚类二元预测变量的函数。

您还可以将亲和力传播视为可能的解决方案。 但是要克服连续/离散的困境,你需要定义一个评估离散状态的函数。

我实际上会向用户呈现成对的离散属性,并要求他们定义它们的邻近度。你会给它们提供一个从[同义词..非常外国]或类似的规模。有很多人这样做,你会得到一个广泛接受的非线性属性值的接近函数。

如何将每个分类属性转换为一系列N-1二进制指示符属性(其中N是类别数)? 您不应该害怕高维度,因为稀疏表示(例如mahout的 SequentialAccessSparseVector 可以使用)。 完成后,您可以使用经典的K-means或任何标准的仅数字聚类算法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top