具有离散和连续属性的聚类算法?

Posted

技术标签:

【中文标题】具有离散和连续属性的聚类算法?【英文标题】:Clustering Algorithm with discrete and continuous attributes? 【发布时间】:2010-10-24 04:46:32 【问题描述】:

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

K-means 或 EM 等传统算法适用于连续属性,如果我们混合了连续属性和离散属性怎么办?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

R 是一个很好的聚类工具 - 标准方法是使用 daisy 在混合数据上计算相异矩阵,然后使用 agnes 与该矩阵进行聚类。

cba module on CRAN 包含一个基于 ROCK 对二进制预测变量进行聚类的函数。

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

您也可以将affinity propagation 作为一种可能的解决方案。 但要克服连续/离散的困境,您需要定义一个对离散状态进行估值的函数。

【讨论】:

【参考方案5】:

如果我没记错的话,COBWEB 算法可以处理离散属性。

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

您可以在 google 上搜索分类/离散属性的聚类,这是最热门的之一:ROCK: A Robust Clustering Algorithm for Categorical Attributes。

【讨论】:

以上是关于具有离散和连续属性的聚类算法?的主要内容,如果未能解决你的问题,请参考以下文章

具有最小尺寸约束的聚类算法

机器学习中的五种聚类算法了解一下~

聚类算法--DBSCAN

聚类五种主要聚类算法

K-means聚类算法java实现

机器学习常见的聚类算法(上篇)