r

rng

This is an implementation of the Neural Gas algorithm on distance data (Relational Neural Gas) for unsupervised clustering. We recommend that you use the functions provided by the RelationalNeuralGas class for your purposes. All other classes and functions are utilities which are used by this central class. In particular, you can use RelationalNeuralGas.train() to obtain a RNGModel (i.e. a clustering of your data), and subsequently you can use RelationalNeuralGas.getAssignments() to obtain the resulting cluster assignments, and RelationalNeuralGas.classify() to cluster new points which are not part of the training data set. The underlying scientific work is summarized nicely in the dissertation "Topographic Mapping of Dissimilarity Datasets" by Alexander Hasenfuss (2009). The basic properties of an Relational Neural Gas algorithm are the following: 1.) It is relational: The data is represented only in terms of a pairwise distance matrix. 2.) It is a clustering method: The algorithm provides a clustering model, that is: After calculation, each data point should be assigned to a cluster (for this package here we only consider hard clustering, that is: each data point is assigned to exactly one cluster). 3.) It is a vector quantization method: Each cluster corresponds to a prototype, which is in the center of the cluster and data points are assigned to the cluster if and only if they are closest to this particular prototype. 4.) It is rank-based: The updates of the prototypes depend only on the distance ranking, not on the absolute value of the distances.
https://gitlab.ub.uni-bielefeld.de/bpaassen/relational_neural_gas
The GNU General Public License, Version 3
Benjamin Paaßen
Files download
File Operation
rng-1.0.0.jar download
rng-1.0.0.pom download
rng-1.0.0-sources.jar download
Apache Maven
<dependency>
  <groupId>de.cit-ec.ml</groupId>
  <artifactId>rng</artifactId>
  <version>1.0.0</version>
</dependency>
Gradle Groovy
implementation 'de.cit-ec.ml:rng:1.0.0'
Gradle Kotlin
implementation("de.cit-ec.ml:rng:1.0.0")
Scala SBT
libraryDependencies += "de.cit-ec.ml" % "rng" % "1.0.0"
Groovy Grape
@Grapes(
  @Grab(group='de.cit-ec.ml', module='rng', version='1.0.0')
)
Apache Ivy
<dependency org="de.cit-ec.ml" name="rng" rev="1.0.0" />
Leiningen
[de.cit-ec.ml/rng "1.0.0"]
Apache Buildr
'de.cit-ec.ml:rng:jar:1.0.0'
Dependencies