可扩展性
可扩展性:许多聚类算法在包含少于数百个数据对象的小型数据集上工作效果较好;但是,大型数据库可能包含数百万甚至数十亿个对象,尤其是在Web搜索方案中。仅在给定大型数据集的样本上进行聚类可能会导致结果有偏差。因此,需要高度可扩展的聚类算法。
处理不同类型的属性的能力
处理不同类型的属性的能力:许多算法旨在对数字(基于间隔)的数据进行聚类。但是,应用程序可能需要对其他数据类型进行聚类,例如二进制,标称(分类)和序数数据,或这些数据类型的混合。近来,越来越多的应用程序需要用于复杂数据类型(例如图形,序列,图像和文档)的聚类技术。
发现具有任意形状的聚类
发现具有任意形状的聚类:许多聚类算法根据欧几里得距离或曼哈顿距离度量来确定聚类。基于这种距离测度的算法往往会找到具有相似大小和密度的球形簇。但是,群集可以是任何形状。例如,经常用于环境监视的传感器,传感器读数的聚类分析可以发现有趣的现象。有时候,希望能够使用聚类来发现正在发生的森林大火的边界,而森林大火通常不是球形的。因此开发可检测任意形状的簇的算法非常重要。监控此种聚类的ML系统是一项艰巨的任务。
确定输入参数所需的领域知识
确定输入参数所需的领域知识:许多聚类算法要求用户以输入参数的形式(例如所需数量的群集)提供领域知识。因此,聚类结果可能对此类参数敏感。参数通常很难确定,尤其是对于高维数据集以及用户尚未深入了解其数据的地方。要求规范的领域知识不仅给用户带来负担,而且使群集的质量难以控制。
处理“脏数据”的能力
处理“脏数据”的能力:大多数实际数据集包含异常值和/或丢失的未知或错误数据。例如,传感器读数通常很复杂-由于传感机制,某些读数可能不准确,甚至由于周围瞬态物体的干扰,某些读数可能是错误的。聚类算法可能对此类噪声敏感,并且可能会产生质量较差的聚类。因此,需要对噪声具有鲁棒性的聚类方法。