art2a-clustering-for-java

Implementation of the ART2a fingerprint clustering algorithm in Java.

https://github.com/jonasschaub/art2a-clustering-for-java

Science Score: 54.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
  • Academic publication links
    Links to: sciencedirect.com, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Implementation of the ART2a fingerprint clustering algorithm in Java.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 2
  • Open Issues: 3
  • Releases: 4
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

DOI Javadoc License: MIT Maintenance build GitHub issues GitHub contributors GitHub release Maven Central Quality Gate Status

ART2a-Clustering-for-Java

Implementation of the ART 2-A fingerprint clustering algorithm in Java.

Description

Implementation of the ART 2-A count and bit fingerprint clustering algorithm in Java for fast, stable unsupervised clustering for open categorical problems in double or single machine precision. ART stands for "Adaptive Resonance Theory" and represents a family of neural models. ART 2-A is a special form of ART that enables rapid convergence in clustering. ART is able to adapt to changing environments. For clustering, this means that after each assignment of an input to a cluster, the model adapts the cluster to the new input.

Example initialization and usage of ART2a-Clustering-for-Java

See the wiki of this repository.

JavaDoc

The JavaDoc of this library can be found here.

Installation

ART2a-Clustering-for-Java is hosted as a package/artifact on the sonatype maven central repository. See the artifact page for installation guidelines using build tools like maven or gradle.
To install ART2a-Clustering-for-Java via its JAR archive, you can get it from the releases. Note that other dependencies will need to be installed via JAR archives as well this way.
In order to open the project locally, e.g. to extend it, download or clone the repository and open it in a Gradle-supporting IDE (e.g. IntelliJ) as a Gradle project and execute the build.gradle file. Gradle will then take care of installing all dependencies. A Java Development Kit (JDK) of version 17 or higher must also be pre-installed.

Contents of this repository

Sources

The "src" subfolder contains all source code files including JUnit tests.

Tests

The test class Art2aDoubleClusteringTest tests the functionalities of Art-2a in double machine precision and the test class Art2aFloatClusteringTest in single machine precision. Methods for the clustering results are also tested.

Test resources

The test "resources" subfolder contains two text files. The text file named "BitFingerprints.txt" contains 10 bit fingerprints, where each line represents one bit fingerprint. And the file named "CountFingerprints.txt" contains 6 count fingerprints, where each line represents one count fingerprint.

Dependencies for local installation

Needs to be pre-installed: * Java Development Kit (JDK) version 17 * Adoptium OpenJDK (as one possible source of the JDK) * Gradle version 7.3 * Gradle Build Tool

Managed by Gradle: * JUnit Jupiter version 5.9.1 * JUnit * License: Eclipse Public License - v 2.0 * Spotless version 6.19 * Spotless GitHub repository * License: Apache-2.0 license * Javadoc-publisher version 2.4 * Javadoc-publisher GitHub repository * License: Apache-2.0 license

References and useful links

ART 2-A: An adaptive resonance algorithm for rapid category learning and recognition * G.A. Carpenter,S. Grossberg and D.B. Rosen, Neural Networks 4 (1991) 493-504

An adaptive resonance theory based artificial neural network (ART-2a) for rapid identification of airborne particle shapes from their scanning electron microscopy images * D. Wienke et al., Chemoinformatics and Intelligent Laboratory Systems (1994) 367-387

Owner

  • Name: Jonas Schaub
  • Login: JonasSchaub
  • Kind: user
  • Location: Jena, Germany
  • Company: Friedrich-Schiller-University

Doctoral candidate of Steinbeck research group for cheminformatics and computational metabolomics. ORCID: 0000-0003-1554-6666

Citation (CITATION.cff)

cff-version: 1.2.0
title: ART2a-Clustering-for-Java
version: 1.0.2.1
message: "If you use this software, please cite it as below."
type: software
authors:
  - family-names: "Sevindik"
    given-names: "Betuel"
    orcid: "https://orcid.org/0000-0002-9448-8603"
  - family-names: "Baensch"
    given-names: "Felix"   
    orcid: "https://orcid.org/0000-0001-8973-8463"
  - family-names: "Schaub"
    given-names: "Jonas"
    orcid: "https://orcid.org/0000-0003-1554-6666"
  - family-names: "Steinbeck"
    given-names: "Christoph"    
    orcid: "https://orcid.org/0000-0001-6966-0814"
  - family-names: "Zielesny"
    given-names: "Achim"    
    orcid: "https://orcid.org/0000-0003-0722-4229"
date-released: 2023-07-05
doi: "10.5281/zenodo.8075213"
url: "https://github.com/JonasSchaub/ART2a-Clustering-for-Java"
license: GPL-3.0

GitHub Events

Total
  • Issues event: 3
  • Issue comment event: 2
  • Member event: 1
  • Push event: 16
  • Pull request event: 2
  • Create event: 1
Last Year
  • Issues event: 3
  • Issue comment event: 2
  • Member event: 1
  • Push event: 16
  • Pull request event: 2
  • Create event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 90
  • Total Committers: 2
  • Avg Commits per committer: 45.0
  • Development Distribution Score (DDS): 0.433
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jonas Schaub 4****b 51
BetuelSevindik1 s****l@g****e 39
Committer Domains (Top 20 + Academic)
gmx.de: 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 14
  • Total pull requests: 5
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 2 months
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 1.29
  • Average comments per pull request: 0.8
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JonasSchaub (11)
Pull Request Authors
  • JonasSchaub (5)
Top Labels
Issue Labels
bug (1) enhancement (1)
Pull Request Labels
bug (2) enhancement (2)