|
Clustering
C++20 header-only: DBSCAN, HDBSCAN, k-means.
|
#include <algorithm>#include <array>#include <atomic>#include <cstddef>#include <cstdint>#include <future>#include <limits>#include <thread>#include <type_traits>#include <utility>#include <vector>#include "clustering/always_assert.h"#include "clustering/hdbscan/mst_output.h"#include "clustering/index/kdtree.h"#include "clustering/math/detail/avx2_helpers.h"#include "clustering/math/detail/sq_distances_block.h"#include "clustering/math/thread.h"#include "clustering/ndarray.h"Go to the source code of this file.
Classes | |
| class | clustering::hdbscan::PrimMstBackend< T > |
| Exact minimum-spanning-tree backend over mutual-reachability distance, streaming Prim. More... | |
Namespaces | |
| namespace | clustering |
| namespace | clustering::hdbscan |
Variables | |
| constexpr std::size_t | clustering::hdbscan::kPrimMaxN = std::size_t{16384} |
| Compute budget that gates the streaming Prim backend, expressed as the maximum point count it will accept. | |
| constexpr std::size_t | clustering::hdbscan::kPrimMrdMatrixByteBudget = kPrimMaxN * kPrimMaxN * sizeof(float) |
Equivalent byte-budget phrasing of kPrimMaxN, kept so callers that gate on n*n*sizeof(T) <= kPrimMrdMatrixByteBudget compile unchanged. | |
| constexpr std::size_t | clustering::hdbscan::kPrimDenseCoreMinN = 1024 |
| Thresholds gating the dense symmetric core-distance pass. | |
| constexpr std::size_t | clustering::hdbscan::kPrimDenseCoreMinD = 17 |
| constexpr std::size_t | clustering::hdbscan::kPrimDenseCoreMaxMinSamples = 64 |
| constexpr std::size_t | clustering::hdbscan::kPrimPersistentRelaxMinWorkers = 8 |
| constexpr std::size_t | clustering::hdbscan::kPrimPersistentRelaxMinOpsPerWorker = std::size_t{1} << 14 |