Sha256: c05a732b63d2058350e2b305f6b6df48a8b86a9c11f05f7e92e6e86b06446d3a
Contents?: true
Size: 1.65 KB
Versions: 9
Compression:
Stored size: 1.65 KB
Contents
// Copyright (C) 2015 Davis E. King (davis@dlib.net) // License: Boost Software License See LICENSE.txt for the full license. #undef DLIB_SPECTRAL_CLUSTEr_ABSTRACT_H_ #ifdef DLIB_SPECTRAL_CLUSTEr_ABSTRACT_H_ #include <vector> namespace dlib { template < typename kernel_type, typename vector_type > std::vector<unsigned long> spectral_cluster ( const kernel_type& k, const vector_type& samples, const unsigned long num_clusters ); /*! requires - samples must be something with an interface compatible with std::vector. - The following expression must evaluate to a double or float: k(samples[i], samples[j]) - num_clusters > 0 ensures - Performs the spectral clustering algorithm described in the paper: On spectral clustering: Analysis and an algorithm by Ng, Jordan, and Weiss. and returns the results. - This function clusters the input data samples into num_clusters clusters and returns a vector that indicates which cluster each sample falls into. In particular, we return an array A such that: - A.size() == samples.size() - A[i] == the cluster assignment of samples[i]. - for all valid i: 0 <= A[i] < num_clusters - The "similarity" of samples[i] with samples[j] is given by k(samples[i],samples[j]). This means that k() should output a number >= 0 and the number should be larger for samples that are more similar. !*/ } #endif // DLIB_SPECTRAL_CLUSTEr_ABSTRACT_H_
Version data entries
9 entries across 9 versions & 1 rubygems