|
template<typename T , size_t N> |
T | dkm::details::distance_squared (const std::array< T, N > &point_a, const std::array< T, N > &point_b) |
|
template<typename T , size_t N> |
T | dkm::details::distance (const std::array< T, N > &point_a, const std::array< T, N > &point_b) |
|
template<typename T , size_t N> |
std::vector< T > | dkm::details::closest_distance (const std::vector< std::array< T, N > > &means, const std::vector< std::array< T, N > > &data) |
|
template<typename T , size_t N> |
std::vector< std::array< T, N > > | dkm::details::random_plusplus (const std::vector< std::array< T, N > > &data, uint32_t k, uint64_t seed) |
|
template<typename T , size_t N> |
uint32_t | dkm::details::closest_mean (const std::array< T, N > &point, const std::vector< std::array< T, N > > &means) |
|
template<typename T , size_t N> |
std::vector< uint32_t > | dkm::details::calculate_clusters (const std::vector< std::array< T, N > > &data, const std::vector< std::array< T, N > > &means) |
|
template<typename T , size_t N> |
std::vector< std::array< T, N > > | dkm::details::calculate_means (const std::vector< std::array< T, N > > &data, const std::vector< uint32_t > &clusters, const std::vector< std::array< T, N > > &old_means, uint32_t k) |
|
template<typename T , size_t N> |
std::vector< T > | dkm::details::deltas (const std::vector< std::array< T, N > > &old_means, const std::vector< std::array< T, N > > &means) |
|
template<typename T > |
bool | dkm::details::deltas_below_limit (const std::vector< T > &deltas, T min_delta) |
|
template<typename T , size_t N> |
std::tuple< std::vector< std::array< T, N > >, std::vector< uint32_t > > | dkm::kmeans_lloyd (const std::vector< std::array< T, N > > &data, const clustering_parameters< T > ¶meters) |
|
template<typename T , size_t N> |
std::tuple< std::vector< std::array< T, N > >, std::vector< uint32_t > > | dkm::kmeans_lloyd (const std::vector< std::array< T, N > > &data, uint32_t k, uint64_t max_iter=0, T min_delta=-1.0) |
|