Skip to content

Speeding up clustering algorithms using Sampling techniques (Lightweight Coresets)

Notifications You must be signed in to change notification settings

SoniSiddharth/SamplingMethods_in_DataScience

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f9fa8e1 Β· May 22, 2021

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sampling Methods to speed up Clustering Algorithms ⭐

K-Means Clustering πŸ”₯

  • KDD Biotrain Dataset

alt text

alt text

  • Worms Dataset

alt text

Bisecting K-Means Clustering πŸ”₯

  • KDD Biotrain Dataset

alt text

alt text

  • Worms Dataset

alt text

K-Center Clustering πŸ”₯

  • KDD Biotrain Dataset

alt text

  • Worms Dataset

alt text

K-Medoids Clustering πŸ”₯

  • K-medoids clustering is performed on artificial dataset because of its expensive runtime
  • Artificial Dataset (dataset visualization)

alt text

  • All sampling methods

alt text

Directory Structure πŸ“

  • The directory structure is as follows -
  • There are 4 directories for each clustering algorithm
β”‚   Averaged_Data_collection.xlsx
β”‚   README.md
β”‚
β”œβ”€β”€β”€bisecting
β”‚       kdd_coresets.py
β”‚       kdd_leverage.py
β”‚       kdd_uniform.py
β”‚       kdd_volume.py
β”‚       worms_coresets.py
β”‚       worms_leverage.py
β”‚       worms_uniform.py
β”‚       worms_volume.py
β”‚
β”œβ”€β”€β”€images
β”‚   β”‚   artificial.png
β”‚   β”‚   kmedoids.png
β”‚   β”‚
β”‚   β”œβ”€β”€β”€kdd
β”‚   β”‚       bisectingcoresets.png
β”‚   β”‚       bisectingvol_lev.png
β”‚   β”‚       kcenterall.png
β”‚   β”‚       kmeanscoresets.png
β”‚   β”‚       kmeansvol_lev.png
β”‚   β”‚
β”‚   └───worms
β”‚           bisectingall.png
β”‚           kcenterall.png
β”‚           kmeansall.png
β”‚
β”œβ”€β”€β”€kcenter
β”‚       kdd_coresets.py
β”‚       kdd_leverage.py
β”‚       kdd_uniform.py
β”‚       kdd_volume.py
β”‚       worms_coresets.py
β”‚       worms_leverage.py
β”‚       worms_uniform.py
β”‚       worms_volume.py
β”‚
β”œβ”€β”€β”€kdd
β”‚       bio_train.dat
β”‚       kdd_reduced.pickle
β”‚       kdd_reduced_1k.pickle
β”‚       kdd_reduced_20k.pickle
β”‚       kdd_reduced_30k.pickle
β”‚       kdd_reduced_40k.pickle
β”‚
β”œβ”€β”€β”€kmeans
β”‚       kdd_coresets.py
β”‚       kdd_leverage.py
β”‚       kdd_uniform.py
β”‚       kdd_volume.py
β”‚       worms_coresets.py
β”‚       worms_leverage.py
β”‚       worms_uniform.py
β”‚       worms_volume.py
β”‚
β”œβ”€β”€β”€kmedoid
β”‚       artificial_all.py
β”‚
└───worms
        README.txt
        worms_2d.png
        worms_2d.txt
        worms_64d.txt
        worms_reduced.pickle
        worms_reduced_20k.pickle
        worms_reduced_30k.pickle
        worms_reduced_40k.pickle

Results πŸ”₯

  • Lightweight coresets outperform all other sampling techniques in each combination ofdatasets and clustering algorithms.

  • For the KDD dataset, Leverage sampling performs better than Volume sampling, in eachcombination of KDD dataset and clustering algorithms.

  • For the Worms dataset, Volume sampling performs better than Leverage sampling, in eachcombination of Worms dataset and clustering algorithms.

  • Although lightweight coresets were designed for kmeans, they show a good performance onthe kcenters algorithm as well, beating rest of the sampling techniques.