有没有人知道在离散和连续属性上执行聚类的好算法?我正在研究识别一组类似客户的问题,每个客户都有离散和连续的属性(思考客户类型,该客户产生的收入金额,地理位置等)。
传统上像K-means或EM这样的算法用于连续属性,如果我们混合了连续属性和离散属性会怎么样?
答案 0 :(得分:5)
如果我没记错的话,那么COBWEB算法可以使用离散属性。
您还可以对离散属性执行不同的“技巧”,以创建有意义的距离指标。
您可以谷歌搜索分类/离散属性的群集,这是首批点击之一:ROCK: A Robust Clustering Algorithm for Categorical Attributes。
答案 1 :(得分:1)
R是一个很棒的聚类工具 - 标准方法是使用daisy
计算混合数据的相异度矩阵,然后使用agnes
对该矩阵进行聚类。
cba
module on CRAN包括一个基于ROCK聚类二元预测变量的函数。
答案 2 :(得分:0)
您还可以将affinity propagation视为可能的解决方案。 但是要克服连续/离散的困境,你需要定义一个评估离散状态的函数。
答案 3 :(得分:0)
我实际上会向用户呈现成对的离散属性,并要求他们定义它们的邻近度。你会给它们提供一个从[同义词..非常外国]或类似的规模。有很多人这样做,你会得到一个广泛接受的非线性属性值的接近函数。
答案 4 :(得分:0)
如何将每个分类属性转换为一系列N-1二元指示符属性(其中N是类别数)?
你不应该害怕高维度,因为可以使用稀疏表示(例如mahout' SequentialAccessSparseVector
)。
完成后,您可以使用经典的K-means或任何标准的仅数字聚类算法。