Git Product home page Git Product logo

kmeans-vector's Introduction

k-means clustering algorithm in Haskell

kmeans-vector is a Haskell library for performing the k-means clustering algorithm. It is based on the very efficient 'vector' library.

Build Status

You can find examples in the examples/ directory.

Feel free to contribute, may it be features, performance improvements, etc.

Performances (0.3 version)

The library has completely been rewritten and beats the 0.2 or the kmeans-par package hands down. I also plan to work on an implementation of the Streaming k-means technique soon, but that'll be for the next version.

Note that this version also features some improvements in the usability.

Performances (0.2 version)

In addition to contributing a feature, Ville Tirronen also claimed to make the library about 50% faster, which was confirmed after running the algorithm on a dataset I had lying around.

Performances (0.1 version)

kmeans-vector is much faster than the existing kmeans package. For example, the kmeans package performs k-means on 10000 2D points with k=5 in 21.099s while kmeans-vector does the same in 6.605s. For 50000 3D points, with k=5 still, kmeans-vector performs in 47.853s while I Ctrl+C'd the kmeans version after 6 minutes and a half.

Authors

This library is written and maintained by Alp Mestanogullari, [email protected]. Ville Tirronen contributed code to the 0.2 version.

kmeans-vector's People

Contributors

aleator avatar alpmestan avatar jcristovao avatar sjoerdvisscher avatar

Watchers

 avatar  avatar  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.