มีการประยุกต์ใช้ Clustering หลายอย่าง ดังนี้:
Scalability (ความสามารถในการขยาย) - บาง Clustering Algorithms ทำงานดีใน Small Data Sets (< 200 Objects) แต่ Large Database อาจมี Millions ของ Objects Clustering บน Sample ของ Large Data Set อาจนำไปสู่ Biased Results ต้องการ Highly Scalable Clustering Algorithms
Ability to deal with different types of attributes (รองรับ Attribute Types หลากหลาย) - บาง Algorithms ออกแบบสำหรับ Interval-based (Numerical) Data แต่ Applications อาจต้อง Cluster Binary, Categorical (Nominal), Ordinal Data หรือ Combination
Discovery of clusters with arbitrary shape (ค้นพบ Cluster รูปทรง Arbitrary) - บาง Algorithms กำหนด Clusters จาก Euclidean หรือ Manhattan Distance Measures Algorithms ที่อิง Distance Measures เหล่านี้มักหา Spherical Clusters ขนาดและ Density เหมือนกัน แต่ Cluster อาจเป็นรูปทรงใดก็ได้ จำเป็นต้องพัฒนา Algorithms ที่ระบุ Clusters รูปทรง Arbitrary ได้
Minimal requirements for domain knowledge (ต้องการ Domain Knowledge น้อยที่สุด) - บาง Algorithms ต้องการ User Input Parameters (เช่น จำนวน Clusters ที่ต้องการ) Results สensitive ต่อ Parameters Parameters ยากต่อการกำหนด โดยเฉพาะ High-dimensional Objects ไม่เพียงแค่ burden Users แต่ยังทำให้ Quality ของ Clustering ยากต่อการควบคุม
Ability to deal with noisy data (จัดการ Noisy Data) - Real-world Databases มักมี Outliers หรือ Missing, Unknown, Erroneous Records บาง Algorithms Sensitive ต่อ Data นี้ อาจนำไปสู่ Clusters คุณภาพต่ำ
Insensitivity to the order of input records (ไม่ไวต่อลำดับ Input) - บาง Algorithms Responsive ต่อ Order ของ Input Data เช่น Same Data Set เมื่อ Present ด้วย Multiple Orderings ให้ Algorithm ไป อาจผลิต Clusters ที่ต่างกันมาก จำเป็นต้องพัฒนา Algorithms ที่ Unresponsive ต่อ Order
High dimensionality (มิติสูง) - Database/Data Warehouse อาจมีหลาย Dimensions/Attributes บาง Algorithms จัดการ Low-dimensional Data ได้ดี (2-3 Dimensions) Human Eyes ประเมิน Clustering Quality ได้ดีถึง 3 Dimensions การ Cluster Objects ใน High-dimensional Space เป็น Challenge โดยเฉพาะ Data อาจ Sparse และ Highly Skewed
Constraint-based clustering (Clustering แบบมีเงื่อนไข) - Real-world Applications อาจต้อง Clustering ภายใต้ Constraints ต่างๆ ตัวอย่าง: งานคือเลือกพื้นที่สำหรับ ATM ใหม่จำนวนหนึ่งในเมือง