https://github.com/clugen/CluGen.jl
Multidimensional cluster generation in Julia
https://github.com/clugen/CluGen.jl
julia julia-package multidimensional-clusters multidimensional-data synthetic-clusters synthetic-data-generator synthetic-dataset-generation
Last synced: 3 months ago
JSON representation
Multidimensional cluster generation in Julia
- Host: GitHub
- URL: https://github.com/clugen/CluGen.jl
- Owner: clugen
- License: mit
- Created: 2020-08-22T19:46:47.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-06-04T00:28:07.000Z (over 1 year ago)
- Last Synced: 2025-09-04T22:06:06.062Z (5 months ago)
- Topics: julia, julia-package, multidimensional-clusters, multidimensional-data, synthetic-clusters, synthetic-data-generator, synthetic-dataset-generation
- Language: Julia
- Homepage: https://clugen.github.io/CluGen.jl/
- Size: 19.9 MB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
- fucking-awesome-machine-learning - CluGen - Multidimensional cluster generation in Julia. (Julia / [Tools](#tools-1))
- awesome-machine-learning - CluGen - Multidimensional cluster generation in Julia. (Julia / [Tools](#tools-1))
README
[](https://github.com/clugen/CluGen.jl/actions/workflows/Tests.yml)
[](https://codecov.io/gh/clugen/CluGen.jl)
[](https://juliahub.com/ui/Packages/General/CluGen)
[](https://juliahub.com/ui/Packages/General/CluGen)
[](https://clugen.github.io/CluGen.jl/stable)
[](https://tldrlegal.com/license/mit-license)
# CluGen.jl
**CluGen.jl** is a Julia 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](https://clugen.github.io/CluGen.jl/stable) and
[examples](https://clugen.github.io/CluGen.jl/stable/examples/) for more
details.
## Installation
```julia
Pkg.add("CluGen")
```
## Quick start
```julia
using CluGen, Plots
```
```julia
o = clugen(2, 4, 400, [1, 0], pi / 8, [20, 10], 10, 1, 1.5)
p = plot(o.points[:, 1], o.points[:, 2], seriestype=:scatter, group=o.clusters)
```

```julia
o = clugen(3, 4, 1000, [1, 0, 1], pi / 8, [20, 15, 25], 16, 4, 3.5)
p = plot(o.points[:, 1], o.points[:, 2], o.points[:, 3], seriestype=:scatter, group=o.clusters)
```

## See also
* [pyclugen](https://github.com/clugen/pyclugen), a Python implementation of
the *clugen* algorithm.
* [clugenr](https://github.com/clugen/clugenr), an R implementation of the
*clugen* algorithm.
* [MOCluGen](https://github.com/clugen/MOCluGen), a MATLAB/Octave implementation
of the *clugen* algorithm.
## Reference
If you use this software, please cite the following reference:
* Fachada, N. & de Andrade, D. (2023). Generating multidimensional clusters
with support lines. *Knowledge-Based Systems*, 277, 110836.
([arXiv preprint](https://doi.org/10.48550/arXiv.2301.10327))
## License
[MIT License](LICENSE)