PyDataBlog / ParallelKMeans.jl

Parallel & lightning fast implementation of available classic and contemporary variants of the KMeans clustering algorithm
MIT License
50 stars 13 forks source link

Elkan and refactoring #46

Closed Arkoniak closed 4 years ago

Arkoniak commented 4 years ago

Few things here.

  1. Elkan algorithm implementation with necessary testing.
  2. Refactoring of the previous code. Unfortunately, I wasn't able yet to generalize all of the approaches to a single framework, so there is still a lot of work to do, but here some conventions that were used in this refactoring: 2.1. Since all of the functions are mutating usage of ! is excessive, so it was removed altogether. 2.2. Since all functions dispatches on corresponding type, single order is used throughout all functions: alg, containers, centroids. Maybe in the future containers can become part of the corresponding alg structure, so this order become even more obvious.
Arkoniak commented 4 years ago

Updates:

  1. Rebased to the last version of master
  2. Removed LightElkan
  3. Updated MLJ
  4. Updated Project.toml version
PyDataBlog commented 4 years ago

Coverage is now acceptable. Merging...