template<typename T, typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
class crn::kMeans< T, type, type >
k-means clustering algorithm
k-means clustering utility. Caution: the samples are not freed when the object is destroyed.
- Author
- Yann LEYDIER
- Date
- March 2007
- Version
- 0.3
Definition at line 49 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
void crn::kMeans< T, type, type >::AddPrototype |
( |
const T & |
sam | ) |
|
|
inline |
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
void crn::kMeans< T, type, type >::AddRandomPrototype |
( |
| ) |
|
|
inline |
Adds one random prototype out of the samples pool.
- Exceptions
-
Definition at line 66 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
void crn::kMeans< T, type, type >::AddSample |
( |
const T & |
sam | ) |
|
|
inline |
Adds one sample.
- Parameters
-
Definition at line 85 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
void crn::kMeans< T, type, type >::AddSample |
( |
T && |
sam | ) |
|
|
inline |
Adds one sample.
- Parameters
-
Definition at line 92 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
Finds the closest prototype.
- Parameters
-
[in] | obj | the sample to classify |
[out] | distance | the distance to the closest prototype |
- Returns
- the index of the closest prototype
Definition at line 153 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
Clears the prototypes.
Definition at line 80 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
const std::vector<size_t>& crn::kMeans< T, type, type >::GetClass |
( |
size_t |
k | ) |
const |
|
inline |
Returns the content of one class.
- Exceptions
-
- Parameters
-
- Returns
- the content of class k
Definition at line 168 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
size_t crn::kMeans< T, type, type >::GetNbClasses |
( |
| ) |
const |
|
inlinenoexcept |
Returns the number of classes.
Definition at line 76 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
size_t crn::kMeans< T, type, type >::GetNbSamples |
( |
| ) |
const |
|
inlinenoexcept |
Returns the number of samples.
Definition at line 97 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
Returns the vector of prototypes.
Definition at line 78 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
const std::vector<const T>& crn::kMeans< T, type, type >::GetSamples |
( |
| ) |
const |
|
inlinenoexcept |
Returns the vector of samples.
Definition at line 99 of file CRNkMeans.h.
template<typename T , typename std::enable_if< IsMetric< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0, typename std::enable_if< IsVectorOverR< typename std::result_of< decltype(Dereference< T >)&(const T &)>::type >::value, int >::type = 0>
size_t crn::kMeans< T, type, type >::Run |
( |
size_t |
maxcnt = 100 | ) |
|
|
inline |
Runs the k-means.
- Parameters
-
[in] | maxcnt | maximal number of iterations |
- Returns
- the number of iterations
Definition at line 107 of file CRNkMeans.h.