Skip to content
 
 

Repository files navigation

NGPCA: Clustering high-dimensional and non-stationary data streams

Local PCA Clustering for streaming and high-dimensional data distributions. This repo serves to reproduce the results from the publication: Adaptive local Principal Component Analysis improves the clustering of high-dimensional data. Please cite this code using the following DOI: https://doi.org/10.1016/j.patcog.2023.110030

View NGPCA: Neural Gas Principal Component Analysis on File Exchange

Table of contents

Quick start

Get started by downloading the latest release:

What's included

Within the download you'll find the following directories and files:

Download contents
|-- Example_stationary.m
|-- Example_stationary.mlx
|-- README.md
|-- Results
|   `-- gif
|       |-- s1_G_AR_S_V.gif
|       |-- s2_G_AR_S_V.gif
|       |-- s3_G_AR_S_V.gif
|       `-- s4_G_AR_S_V.gif
|-- data
|   `-- s1.mat
`-- ngpca
  |-- NGPCA.m
  |-- drawunits.m
  |-- eforrlsa.m
  |-- init.m
  |-- normalizedmi.m
  |-- plot_ellipse.m
  |-- potentialFunction.m
  |-- update.m
  |-- validate_CI.m
  `-- validate_NMI_DU.m

Getting Started

The latest release contains all files needed to directly run the algorithm:

  1. Open Example.m or Example.mlx in Matlab
  2. Compiling the script will automatically perform NGPCA Clustering on the S1 data set with standard settings

Optional:

  1. Change default settings or add optional parameters to the ngpca object creation or for the training process
  2. Train the model directly on a full data set using the fit_multiple() function or build your own training loops with fit_single()
  3. Visualize the clustering results with the draw() function
  4. Calculate validation metrics (CI, NMI, DU) by provding ground thruth and cluster shape information

Visualizations

The following visualizations represent the learning process on selected data sets of the standard clustering benchmark database. For all data sets the default settings are used.

Data set S1

N1-G-V-H-V_s1

Data set S2

N1-G-V-H-V_s2

Data set S3

N1-G-V-H-V_s3

Data set S4

N1-G-V-H-V_s4

Creators

Nico Migenda

Ralf Möller

Wolfram Schenck

About

Code and Visualizations of NGPCA for clustering (in high-dimensional data spaces)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages