Skip to content

5K1PY/parallel-clustering

Repository files navigation

Clustering

Implementation of parallel clustering algorithms.

Installation

This project needs a few python libraries to run. Using python's virtual environment is recommended.

pip install matplotlib scikit-learn scikit-learn-extra

It is also possible that scikit-learn-extra does not work with numpy of too high version. You can then install older numpy with:

pip install -v "numpy<2.0"

Usage

First, compile required programs:

make

Then, to test clustering solutions, run the testing script:

./test.py {fl,cl} {1,2}

Use the first argument to choose whether to test facility location or clustering.

The second argument specifies the cost exponent $z$. The $z$ power of distance to each point is added to the solution cost.

Running unit tests

To run unit tests:

make test

Visualizations

All visualizations can be generated with make:

make visuals

Is is also possible to generate specific visualizations. The visualizing script is run:

./visualizer.py <input> [output]

(or use --help to get info about even more options)

Additionally, graphs can be separately generated from results_*.csv files:

./graphs.py

About

Implementation for my Bachelor's thesis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors