聚类的应用有哪些?
聚类有各种各样的应用,如下所示:
可扩展性 - 一些聚类算法在小型数据集(包括少于200个数据对象)中运行良好;然而,大型数据库可能包含数百万个对象。对给定大型数据集样本进行聚类可能会导致结果偏差。需要高度可扩展的聚类算法。
处理不同类型属性的能力 - 一些算法旨在对基于区间的(数值)记录进行聚类。但是,应用程序可能需要对几种类型的数据进行聚类,包括二进制数据、分类(名义)数据和有序数据,或这些数据类型的组合。
发现任意形状的聚类 - 一些聚类算法根据欧几里德距离或曼哈顿距离度量来确定聚类。基于此类距离度量的算法倾向于发现大小和密度相同的球形聚类。但是,聚类可以是任何形状。必须开发能够识别任意形状聚类的算法。
对确定输入参数的领域知识的要求最小 - 一些聚类算法需要用户在聚类分析中输入特定参数(包括所需聚类的数量)。聚类结果对输入参数非常敏感。参数很难确定,特别是对于包含高维对象的数据集。这不仅给用户带来负担,而且也使聚类质量难以控制。
处理噪声数据的能力 - 一些现实世界的数据库包含异常值或缺失、未知或错误的记录。一些聚类算法对这类数据敏感,并可能导致质量差的聚类。
对输入记录顺序不敏感 - 一些聚类算法对输入数据的顺序有响应,例如,相同的数据集,当以多种顺序呈现给这种算法时,它可以生成截然不同的聚类。必须开发对输入顺序没有响应的算法。
高维性 - 数据库或数据仓库可以包含多个维度或属性。一些聚类算法最擅长管理低维数据,只包含两到三个维度。人眼最擅长确定最多三个维度的聚类质量。在高维空间中对数据对象进行聚类是有争议的,特别是考虑到高维空间中的数据可能非常不足并且高度失真。
基于约束的聚类 - 现实世界的应用程序可能需要在几种类型的约束下执行聚类。假设你的工作是在城市中为一定数量的新型自动取款机 (ATM) 选择区域。