CluE  1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CluE::BruteForceClustering< T > Class Template Reference

Brute force k-median / k-means clustering. More...

#include <bruteforceclustering.h>

Inheritance diagram for CluE::BruteForceClustering< T >:
Inheritance graph
Collaboration diagram for CluE::BruteForceClustering< T >:
Collaboration graph

Public Member Functions

 BruteForceClustering (DissimilarityMeasure< T > const *measure=0, std::vector< T * > const *input=0, unsigned int numOfCenters=1)
 
virtual ProxySolution< T > * compute ()
 
virtual void setInput (std::vector< T * > const *)
 
virtual void setMeasure (DissimilarityMeasure< T > const *measure)
 
void setNumberOfClusters (unsigned int number)
 Sets the desired number of clusters. More...
 
- Public Member Functions inherited from CluE::Algorithm
virtual ~Algorithm ()
 

Private Member Functions

std::pair< std::vector< size_t >
, double > 
bruteCompute (std::vector< size_t > centers)
 

Private Attributes

KMeansEvaluator< T > eval
 
std::unique_ptr
< DissimilarityMeasure< T > > 
measure
 
std::vector< T * > const * input
 
unsigned int numClusters
 

Detailed Description

template<typename T>
class CluE::BruteForceClustering< T >

Brute force k-median / k-means clustering.

Selects the best k centers from the input set

Warning
Running time is exponential in the size of input!

Definition at line 27 of file bruteforceclustering.h.

Constructor & Destructor Documentation

template<typename T >
CluE::BruteForceClustering< T >::BruteForceClustering ( DissimilarityMeasure< T > const *  measure = 0,
std::vector< T * > const *  input = 0,
unsigned int  numOfCenters = 1 
)

Definition at line 57 of file bruteforceclustering.h.

Member Function Documentation

template<typename T >
ProxySolution< T > * CluE::BruteForceClustering< T >::compute ( )
virtual
Exceptions
InvalidRuntimeConfigurationException[0] Input is NULL.
InvalidRuntimeConfigurationException[1] Dissimilarity measure is NULL.
InvalidRuntimeConfigurationException[2] Input contains not enough elements.

Implements CluE::Algorithm.

Definition at line 65 of file bruteforceclustering.h.

template<typename T >
void CluE::BruteForceClustering< T >::setInput ( std::vector< T * > const *  data)
virtual

Implements CluE::InputSetter< T >.

Definition at line 118 of file bruteforceclustering.h.

template<typename T >
void CluE::BruteForceClustering< T >::setMeasure ( DissimilarityMeasure< T > const *  measure)
virtual

Implements CluE::MeasureSetter< T >.

Definition at line 123 of file bruteforceclustering.h.

template<typename T >
void CluE::BruteForceClustering< T >::setNumberOfClusters ( unsigned int  number)

Sets the desired number of clusters.

Definition at line 113 of file bruteforceclustering.h.

template<typename T >
std::pair< std::vector< size_t >, double > CluE::BruteForceClustering< T >::bruteCompute ( std::vector< size_t >  centers)
private

Definition at line 86 of file bruteforceclustering.h.

Member Data Documentation

template<typename T >
KMeansEvaluator<T> CluE::BruteForceClustering< T >::eval
private

Definition at line 51 of file bruteforceclustering.h.

template<typename T >
std::unique_ptr<DissimilarityMeasure<T> > CluE::BruteForceClustering< T >::measure
private

Definition at line 52 of file bruteforceclustering.h.

template<typename T >
std::vector<T*> const* CluE::BruteForceClustering< T >::input
private

Definition at line 53 of file bruteforceclustering.h.

template<typename T >
unsigned int CluE::BruteForceClustering< T >::numClusters
private

Definition at line 54 of file bruteforceclustering.h.


The documentation for this class was generated from the following file: