Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การประยุกต์ใช้ Clustering มีอะไรบ้าง?

มีการประยุกต์ใช้ 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 ใหม่จำนวนหนึ่งในเมือง