|
GClasses
|
An implementation of the K-means clustering algorithm. More...
#include <GCluster.h>
Public Member Functions | |
| GKMeans (size_t nClusters, GRand *pRand) | |
| ~GKMeans () | |
| double | assignClusters (const GMatrix *pData) |
| Assigns each row to the cluster of the nearest centroid as measured with the dissimilarity metric. Returns the sum-squared-distance of each row with its centroid. More... | |
| GMatrix * | centroids () |
| Returns a k x d matrix, where each row is one of the k centroids. More... | |
| virtual void | cluster (const GMatrix *pData) |
| Performs clustering. More... | |
| void | init (const GMatrix *pData) |
| Selects random centroids and initializes internal data structures. More... | |
| void | recomputeCentroids (const GMatrix *pData) |
| Computes new centroids for each cluster. More... | |
| void | setReps (size_t r) |
| Specify the number of times to cluster the data. The best clustering (as measured by the sum-squared-difference between each point and its cluster-centroid) will be kept. More... | |
| virtual size_t | whichCluster (size_t nVector) |
| Identifies the cluster of the specified row. More... | |
Public Member Functions inherited from GClasses::GClusterer | |
| GClusterer (size_t nClusterCount) | |
| virtual | ~GClusterer () |
| size_t | clusterCount () |
| Return the number of clusters. More... | |
| virtual GMatrix * | reduce (const GMatrix &in) |
| Clusters pIn and outputs a dataset with one column that specifies the cluster number for each row. More... | |
| void | setMetric (GDistanceMetric *pMetric, bool own) |
| If own is true, then this object will delete pMetric when it is destroyed. More... | |
Public Member Functions inherited from GClasses::GTransform | |
| GTransform () | |
| GTransform (GDomNode *pNode, GLearnerLoader &ll) | |
| virtual | ~GTransform () |
Protected Member Functions | |
| bool | clusterAttempt (size_t nMaxIterations) |
| bool | selectSeeds (const GMatrix *pSeeds) |
Protected Member Functions inherited from GClasses::GTransform | |
| virtual GDomNode * | baseDomNode (GDom *pDoc, const char *szClassName) const |
| Child classes should use this in their implementation of serialize. More... | |
Protected Attributes | |
| GMatrix * | m_pCentroids |
| size_t * | m_pClusters |
| GRand * | m_pRand |
| size_t | m_reps |
Protected Attributes inherited from GClasses::GClusterer | |
| size_t | m_clusterCount |
| bool | m_ownMetric |
| GDistanceMetric * | m_pMetric |
An implementation of the K-means clustering algorithm.
| GClasses::GKMeans::GKMeans | ( | size_t | nClusters, |
| GRand * | pRand | ||
| ) |
| GClasses::GKMeans::~GKMeans | ( | ) |
| double GClasses::GKMeans::assignClusters | ( | const GMatrix * | pData | ) |
Assigns each row to the cluster of the nearest centroid as measured with the dissimilarity metric. Returns the sum-squared-distance of each row with its centroid.
|
inline |
Returns a k x d matrix, where each row is one of the k centroids.
|
virtual |
Performs clustering.
Implements GClasses::GClusterer.
|
protected |
| void GClasses::GKMeans::init | ( | const GMatrix * | pData | ) |
Selects random centroids and initializes internal data structures.
| void GClasses::GKMeans::recomputeCentroids | ( | const GMatrix * | pData | ) |
Computes new centroids for each cluster.
|
protected |
|
inline |
Specify the number of times to cluster the data. The best clustering (as measured by the sum-squared-difference between each point and its cluster-centroid) will be kept.
|
virtual |
Identifies the cluster of the specified row.
Implements GClasses::GClusterer.
|
protected |
|
protected |
|
protected |
|
protected |