Generate Multidimensional Data for Clustering: MOCluGen

Multidimensional cluster generation in MATLAB/Octave
36 Downloads
Updated 23 Jan 2024

Checks codecov docs MIT View MOCluGen on File Exchange Open in MATLAB Online

MOCluGen

Summary

MOCluGen is a MATLAB/Octave implementation of the clugen algorithm for generating multidimensional clusters with arbitrary distributions. Each cluster is supported by a line segment, the position, orientation and length of which guide where the respective points are placed.

See the documentation and examples for more details.

Install and use

Download the most recent version from the releases page or clone the development version with following command:

$ git clone https://github.com/clugen/MOCluGen.git

Open MATLAB or GNU Octave and cd into the project's folder, and run the startup.m script:

>> startup

MOCluGen can now be used, e.g:

>> o = clugen(2, 4, 400, [1 0], pi / 8, [50, 10], 20, 1, 2, 'seed', 123);
>> scatter(o.points(:, 1), o.points(:, 2), 36, o.clusters, 'filled', 'MarkerEdgeColor', 'k');

Example 2D

>> o = clugen(3, 4, 1000, [1 0 0], pi / 8, [20 15 25], 16, 4, 3.5, 'seed', 123);
>> scatter3(o.points(:, 1), o.points(:, 2), o.points(:, 3), 36, o.clusters, 'filled', 'MarkerEdgeColor', 'k');

Example 3D

See also

  • pyclugen, a Python implementation of the clugen algorithm.
  • CluGen.jl, a Julia implementation of the clugen algorithm.
  • clugenr, an R implementation of the clugen algorithm.

Reference

If you use this software, please cite the following reference:

License

MIT License

Cite As

Fachada, Nuno, and Diogo de Andrade. “Generating Multidimensional Clusters with Support Lines.” Knowledge-Based Systems, vol. 277, Elsevier BV, Oct. 2023, p. 110836, doi:10.1016/j.knosys.2023.110836.

View more styles
MATLAB Release Compatibility
Created with R2013a
Compatible with R2013a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.1

See release notes for this release on GitHub: https://github.com/clugen/MOCluGen/releases/tag/v1.0.1

1.0.0

See release notes for this release on GitHub: https://github.com/clugen/MOCluGen/releases/tag/v1.0.0

0.4.0.0

See release notes for this release on GitHub: https://github.com/clugen/MOCluGen/releases/tag/v0.4.0

0.3.0

See release notes for this release on GitHub: https://github.com/clugen/MOCluGen/releases/tag/v0.3.0

0.1.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.