Split data into groups, taking into account knowledge in the form of constraints on points, groups of points, or clusters.