1. A computer-implemented method of clustering comprising: providing a data set having x number of objects to a clustering tool; providing preference information of a user to the clustering tool; and wherein the clustering tool performs calculating preference degrees between objects in the data set, calculating similarity measures of objects in the data set, and generating clusters of objects from the data set.