pyclugen

Multidimensional cluster generation in Python

https://github.com/clugen/pyclugen

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

multidimensional-clusters multidimensional-data python python-library python3-library synthetic-clusters synthetic-data-generator synthetic-dataset-generation
Last synced: 4 months ago · JSON representation ·

Repository

Multidimensional cluster generation in Python

Basic Info
Statistics
  • Stars: 10
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 11
Topics
multidimensional-clusters multidimensional-data python python-library python3-library synthetic-clusters synthetic-data-generator synthetic-dataset-generation
Created over 5 years ago · Last pushed 5 months ago
Metadata Files
Readme License Citation

README.md

Tests codecov docs PyPI PyPI - Downloads MIT

pyclugen

pyclugen is a Python 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.

Installation

Install from PyPI:

sh pip install --upgrade pip pip install pyclugen

Or directly from GitHub:

text pip install --upgrade pip pip install git+https://github.com/clugen/pyclugen.git#egg=pyclugen

Quick start

python from pyclugen import clugen import matplotlib.pyplot as plt

python out2 = clugen(2, 4, 400, [1, 0], 0.4, [50, 10], 20, 1, 2) plt.scatter(out2.points[:, 0], out2.points[:, 1], c=out2.clusters) plt.show()

2D example.

python out3 = clugen(3, 5, 10000, [0.5, 0.5, 0.5], 0.2, [10, 10, 10], 10, 1, 2) fig = plt.figure() ax = fig.add_subplot(projection="3d") ax.scatter(out3.points[:, 0], out3.points[:, 1], out3.points[:, 2], c=out3.clusters) plt.show()

3D example.

See also

  • CluGen.jl, a Julia implementation of the clugen algorithm.
  • clugenr, an R implementation of the clugen algorithm.
  • MOCluGen, a MATLAB/Octave implementation of the clugen algorithm.

Reference

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

License

MIT License

Owner

  • Name: clugen
  • Login: clugen
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: pyclugen
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Nuno
    family-names: Fachada
    email: nuno.fachada@ulusofona.pt
    affiliation: 'Lusófona University, COPELABS'
    orcid: 'https://orcid.org/0000-0002-8487-5837'
repository-code: 'https://github.com/clugen/pyclugen/'
abstract: >-
  pyclugen is a modular procedure for synthetic data
  generation, capable of creating multidimensional clusters
  supported by line segments using arbitrary distributions.
keywords:
  - synthetic data
  - data generation
  - clustering
  - multidimensional data
license: MIT
preferred-citation:
  type: article
  authors:
    - given-names: Nuno
      family-names: Fachada
      email: nuno.fachada@ulusofona.pt
      affiliation: 'Lusófona University, COPELABS'
      orcid: 'https://orcid.org/0000-0002-8487-5837'
    - given-names: Diogo
      family-names: de Andrade
      email: diogo.andrade@ulusofona.pt
      affiliation: 'Lusófona University, COPELABS'
      orcid: 'https://orcid.org/0000-0001-9180-0545'
  title: Generating multidimensional clusters with support lines
  journal: Knowledge-Based Systems
  doi: 10.1016/j.knosys.2023.110836
  volume: 277
  start: 110836
  month: 10
  year: 2023
  url: 'https://doi.org/10.1016/j.knosys.2023.110836'
  publisher:
    name: Elsevier

GitHub Events

Total
  • Release event: 1
  • Watch event: 1
  • Push event: 6
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 1
  • Push event: 6
  • Create event: 1

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 278
  • Total Committers: 1
  • Avg Commits per committer: 278.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 15
  • Committers: 1
  • Avg Commits per committer: 15.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Nuno Fachada f****n@f****m 278
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: less than a minute
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nunofachada (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 37 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 24
  • Total maintainers: 1
proxy.golang.org: github.com/clugen/pyclugen
  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.7%
Average: 5.9%
Dependent repos count: 6.0%
Last synced: 5 months ago
pypi.org: pyclugen

Multidimensional cluster generation in Python

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 37 Last month
Rankings
Dependent packages count: 6.6%
Average: 23.4%
Dependent repos count: 30.6%
Downloads: 33.1%
Maintainers (1)
Last synced: 5 months ago

Dependencies

.github/workflows/cov.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
.github/workflows/docs.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v3 composite
.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
  • numpy >= 1.20