Giter VIP home page Giter VIP logo

hc-dbscan's Introduction

HC-DBSCAN

We propose a constrained hyperparameter optimization method for density-based spatial clustering of applications with noise (DBSCAN) called HC-DBSCAN.

We formulate a constrained hyperparameter optimization problem for DBSCAN with a Bayesian optimization model. We develop an algorithm using the Alternating direction method of multiplier Bayesian Optimization (ADMMBO) to solve the optimization problem. We customize ADMMBO to our problem. HC-DSBCAN deals with the integer type hyperparameter, and we design the constraint function to consider whether the result violates the constraint and how much. Finally, we implement the Bayesian inference in ADMMBO to match the characteristics of hyperparameter optimization for DBSCAN.

Our algorithm performs well and shows good clustering performance compared with benchmark constrained methods for DBSCAN on simulated and real datasets.

Requirements

This list represents our experiment settings with HC-DBSCAN. We recommend to import equal or higher version of each package to utilize the HC-DBSCAN method.

  • Python 3.9.6
  • Pytorch 1.9.0
  • GPytorch 1.5.1
  • scikit-learn 1.0.2
  • pandas 1.3.2
  • numpy 1.20.3
  • matplotlib 3.4.2
  • UMAP 0.5.2
  • scipy 1.7.1

We also provide whole experiments results and process. So if you want to check the entire process, the following packages are required.

  • imageio 2.16.1
  • torchvision 0.10.0
  • DBCV

Development

To run the unit test for MNIST dataset,

python HC-DBSCAN_MNIST.py

This code returns a clustering results of HC-DBSCAN and benchmarks with a constraint on the number of clusters and 5 cannot-link constraints.

If you want to run the HC-DBSCAN for other dataset (Ex:dry_bean),

python HC-DBSCAN_benchmarks.py --data_name=dry_bean

We provide an experimental environment for all datasets presented in our paper, "Constrained Density-Based Spatial Clustering of Applications with Noise (DBSCAN) using Hyperparameter Optimization".

hc-dbscan's People

Contributors

jongwonkim-1997 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.