Skip to content
/ DRSmeans Public

Distributed Random Swap for for Minimum Sum-of-Squares Clustering

License

Notifications You must be signed in to change notification settings

napsu/DRSmeans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DRS-means - Distributed Random Swap for Minimum Sum-of-Squares Clustering

This repository contains a Python implementation of the DRS-means algorithm, based on its description in [1] by Olzhas Kozbagarov and Rustam Mussabayev. This implementation, created by Tapio Pahikkala, utilizes Random swap-algorithm by Pasi Fränti and Juha Kivijärvi [2].

This implementation is used in our paper:

Files included

Installation and usage

To use the code:

  1. Download DRSmeans.py and RandomSwapAlt.py.
  2. Define the data-file, no. clusters, and no. random swap iterations at the end of the DRSmeans.py file.
  3. Finally, just type "python DRSmeans.py".

The algorithm returns the MSSC-function value and used time, as well as cluster centers and distributions.

References:

[1] O. Kozbagarov, R. Mussabayev, "Distributed random swap: An efficient algorithm for minimum sum-of-squares clustering", Information Sciences 681 (2024) 121204.

[2] P. Fränti, J. Kivijärvi. "Randomized local search algorithm for the clustering problem". Pattern Analysis and Applications, 3 (4), 358-369, 2000.

About

Distributed Random Swap for for Minimum Sum-of-Squares Clustering

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages