Giter VIP home page Giter VIP logo

ngpca-clustering's Introduction

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

ngpca-clustering's People

Contributors

nicomigenda avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.