Giter Club home page Giter Club logo

canopykmeans_improved's Introduction

canopyKmeans_improved

This is an implementation of the paper on "Improved K-means algorithm based on density Canopy". The repo comes with a

  • requirements.txt for downloading possible dependencies (pip install -r requirements.txt)
  • kmeans.cfg configuration file in which you can define the specs of the algorithm you want to run

When you define what you want to run in the configuration file you just run the MainLauncher.py file.

NOTE: Don't worry about some Warnings that you may get in runtime.

Concerning the configuration file in the data part:

  • datasdir: the directory which contains the datasets
  • dataset: the name of the dataset with the .arff or .csv extension, which is in the same directory as this file
  • algorithm: the algorithm or the algorithms you want to run separated by a dash (-) with no spaces e.g 1-2-3. Each algorithm corresponds to a number
    • 1: Density Canopy-Kmeans (MyCanopyKMeans) [from the aforementioned paper]
    • 2: StandardCanopyKMeans
    • 3: MyKMeans
    • 4: SklearnKMeans
    • 5: MyKMeans++
    • 6: SklearnKMeans++
    • 7: MyKMedoids
    • 8: MyFuzzyCMeans

Concerning the configuration file in the clustering part:

  • normalized: boolean, to define if preprocessing should normalize the data or not (true/false)
  • canopyT1: a float, indicating the T1 parameter of the standard canopy algorithm
  • canopyT2: a float, indicating the T2 parameter of the standard canopy algorithm
  • remove_outliers: boolean, to define if density canopy should remove the outliers or not (true/false)
  • k: the number of clusters
  • tol: the tolerance for the convergence
  • max_rep: the number of maximum repetitions
  • kmeans_init_type: the type of initializing the centroids. The possible values are:
    • random: for getting random numbers following the uniform distribution
    • kmeans++: for applying KMeans++ algorithm for the initial centroids
    • canopy: for specifying that there are some centroids defined
  • run: the way you want to run the algorithms. The possible values are:
    • algorithms: for getting the indexes values for a specific k
    • silhouette: calculating the silhouette coefficient fir 15 different k and then it plots also the graph of best-k

canopykmeans_improved's People

Contributors

jforjohn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

w-qilong hapuhxy

canopykmeans_improved's Issues

The last column label of the data

Hello author, may I ask if the last column of the data is a label? Is the data label related to the evaluation indicators of clustering? How are the data labels obtained in the dataset?

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.