9
$\begingroup$

I am looking for datasets of 2 dimensional datapoints (each datapoint is a vector of two values (x,y)) following different distributions and forms. Code to generate such data would also be helpful. I want to use them to plot / visualise how some clustering algorithms perform. Here are some examples:

$\endgroup$
  • $\begingroup$ I vote for cw ;) $\endgroup$ – steffen Feb 20 '12 at 12:53
  • $\begingroup$ A similar question in lines of specific datasets has been closed here : stats.stackexchange.com/questions/38928/… $\endgroup$ – hearse Dec 22 '12 at 18:09
  • $\begingroup$ For SPSS, I've written a cluster-generating macro (visit my page, see "Generate clusters"). It, however, does not produce pretentious shapes such as rings or spirals. $\endgroup$ – ttnphns Nov 9 '15 at 16:32
11
$\begingroup$

R comes with a lot of datasets, and it looks like it would not be a big deal to reproduce most of the examples you cited with few lines of code. You may also find the mlbench package useful, in particular synthetic datasets starting with mlbench.*. Some illustrations are given below.

enter image description here

You will find additional examples by looking at the Cluster Task View on CRAN. For example, the fpc package has a built-in generator for "face-shaped" clustered benchmark datasets (rFace).

enter image description here

Similar considerations apply to Python, where you will find interesting benchmark tests and datasets for clustering with the scikit-learn.

The UCI Machine Learning Repository hosts a lot of datasets as well, but you're better off simulating data yourself with the language of your choice.

$\endgroup$
4
$\begingroup$

Here are some datasets designed exactly for this task:

The Fundamental Clustering Problem Suite by Ultsch

$\endgroup$
2
$\begingroup$

This toy clustering benchmark contains various data sets in ARFF format (could be easily converted to CSV), mostly with ground truth labels. The benchmark should validate basic desired properties of clustering algorithms. Most of the data sets comes from the clustering papers like:

  • BIRCH - Zhang, Tian, Raghu Ramakrishnan, and Miron Livny. "BIRCH: an efficient data clustering method for very large databases." ACM SIGMOD Record. Vol. 25. No. 2. ACM, 1996.
  • CURE - Guha, Sudipto, Rajeev Rastogi, and Kyuseok Shim. "CURE: an efficient clustering algorithm for large databases." ACM SIGMOD Record. Vol. 27. No. 2. ACM, 1998.
  • Chameleon - Karypis, George, Eui-Hong Han, and Vipin Kumar. "Chameleon: Hierarchical clustering using dynamic modeling." Computer 32.8 (1999): 68-75.
  • The Fundamental Clustering Problem Suite - Ultsch, A.: Clustering with SOM: U*C, In Proc. Workshop on Self-Organizing Maps, Paris, France, (2005) , pp. 75-82
  • MOCK - Handl, Julia, and Joshua Knowles. "An evolutionary approach to multiobjective clustering." Evolutionary Computation, IEEE Transactions on 11.1 (2007): 56-76.
  • Robust path-based spectral clustering - Chang, Hong, and Dit-Yan Yeung. "Robust path-based spectral clustering." Pattern Recognition 41.1 (2008): 191-203.

karypis data cluto data

$\endgroup$
1
$\begingroup$

ELKI comes with a couple of data sets (check also the unit tests, they contain many more than those on the web site, along with parameter settings).

It also includes a fairly flexible data generator.

$\endgroup$
1
$\begingroup$

Here is a customizable cluster generator. It only addresses a certain class of data sets, but it can surely be used for cluster algorithm investigations.

Here is an example of the kind of clusters it can create:

http://i.stack.imgur.com/vrCG5.png

Cluster affiliation is saved in a text file. The code is open source under MIT license.

$\endgroup$
1
$\begingroup$

This Matlab script generates 2D data for clustering. It accepts several parameters so that the generated data is within user requirements.

| cite | improve this answer | |
$\endgroup$
0
$\begingroup$

I can't believe that nobody has mentioned Fisher's Iris data.

I don't think I've seen a clustering technique that doesn't use the iris data as an example.

In r, just type "iris" to access the data.

Here's an example of a nice (and typical) iris plot: http://ygc.name/2011/12/24/ml-class-7-kmeans-clustering/

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.