diff options
Diffstat (limited to 'ml/KMeans.h')
-rw-r--r-- | ml/KMeans.h | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/ml/KMeans.h b/ml/KMeans.h deleted file mode 100644 index 0398eeb8..00000000 --- a/ml/KMeans.h +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -#ifndef KMEANS_H -#define KMEANS_H - -#include <atomic> -#include <vector> -#include <limits> -#include <mutex> - -#include "SamplesBuffer.h" -#include "json/single_include/nlohmann/json.hpp" - -class KMeans { -public: - KMeans(size_t NumClusters = 2) : NumClusters(NumClusters) { - MinDist = std::numeric_limits<CalculatedNumber>::max(); - MaxDist = std::numeric_limits<CalculatedNumber>::min(); - }; - - void train(const std::vector<DSample> &Samples, size_t MaxIterations); - CalculatedNumber anomalyScore(const DSample &Sample) const; - - void toJson(nlohmann::json &J) const { - J = nlohmann::json{ - {"CCs", ClusterCenters}, - {"MinDist", MinDist}, - {"MaxDist", MaxDist} - }; - } - -private: - size_t NumClusters; - - std::vector<DSample> ClusterCenters; - - CalculatedNumber MinDist; - CalculatedNumber MaxDist; -}; - -#endif /* KMEANS_H */ |