有谁知道在离散和连续属性上执行聚类的好算法?我正在解决识别一组相似客户的问题,并且每个客户都具有离散和连续属性(考虑客户类型、该客户产生的收入金额、地理位置等。)
像 K-means 或 EM 这样的传统算法适用于连续属性,如果我们混合了连续属性和离散属性怎么办?
有谁知道在离散和连续属性上执行聚类的好算法?我正在解决识别一组相似客户的问题,并且每个客户都具有离散和连续属性(考虑客户类型、该客户产生的收入金额、地理位置等。)
像 K-means 或 EM 这样的传统算法适用于连续属性,如果我们混合了连续属性和离散属性怎么办?
如果我没记错的话,COBWEB 算法可以处理离散属性。
您还可以对离散属性执行不同的“技巧”,以创建有意义的距离度量。
您可以在 Google 上搜索分类/离散属性的聚类,这是最热门的作品之一:ROCK: A Robust Clustering Algorithm for Categorical Attributes。
您还可以将亲和力传播视为一种可能的解决方案。但是要克服连续/离散的困境,您需要定义一个对离散状态进行估值的函数。
我实际上会向用户呈现成对的离散属性,并要求他们定义他们的接近度。你会给他们呈现一个从[同义词..非常外国]或类似的尺度。让很多人这样做,您最终会得到一个广泛接受的非线性属性值的邻近函数。
如何将您的每个分类属性转换为一系列 N-1 二元指标属性(其中 N 是类别数)?您不应该害怕高维,因为它是一种稀疏表示(例如SequentialAccessSparseVector
可以使用 mahout)。一旦你这样做了,你就可以使用经典的 K-means 或任何标准的纯数字聚类算法。