Class Reference
%DeepSee.extensions.clusters.PAM
Server:basexml
Instance:SOAXML
User:UnknownUser
 
-
  [BASEXML] >  [%DeepSee] >  [extensions] >  [clusters] >  [PAM]
Private  Storage

class %DeepSee.extensions.clusters.PAM extends AbstractModel

This class provides an implemantation of Partitioning Around Medoids (PAM) algorithm, a.k.a. K-Medoids (do not mix with K-Means).

The PAM algorithm was developed by Leonard Kaufman and Peter J. Rousseeuw, and this algorithm is very similar to K-means, mostly because both are partitional algorithms, in other words, both break the datasets into groups, and both works trying to minimize the error, but PAM works with Medoids, that are an entity of the dataset that represent the group in which it is inserted, and K-means works with Centroids, that are artificially created entity that represent its cluster.

The PAM algorithm partitionates a dataset of n objects into a number k of clusters, where both the dataset and the number k is an input of the algorithm. This algorithm works with a matrix of dissimilarity, where its goal is to minimize the overall dissimilarity between the representants of each cluster and its members.

Pure PAM algorithm only works when a dataset is well partitioned by its nature. It first generates a random solution and then uses the steepest descent to optimize it. Therefore it is prone to falling into local minimum. Two modifications implemented by subclasses PAMSA (PAM with Simulated Annealing) and CLARA (Clustering for Large Applications) try to alleviate this deficiency.

See Wikipedia article for more information.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 16


Summary

Properties
DSName Dim K Normalize P
Verbose

Methods
%%OIDGet %AddToSaveSet %ClassIsLatestVersion %ClassName
%ConstructClone %DispatchClassMethod %DispatchGetModified %DispatchGetProperty
%DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty
%Extends %GetParameter %IsA %IsModified
%New %NormalizeObject %ObjectModified %OriginalNamespace
%PackageName %RemoveFromSaveSet %SerializeObject %SetModified
%ValidateObject ById ClusterCost CurrentTotalCost
Delete Distance Distance1 Distance12
Execute Exists GetASWIndex GetCalinskiHarabaszIndex
GetCentroid GetCluster GetClusterSize GetCost
GetCount GetData GetDimensions GetId
GetNumberOfClusters GetPearsonGammaIndex GlobalCentroid IsPrepared
New Open Prepare RelativeClusterCost
Reset SetData SubsetCentroid TotalCost
iterateCluster printAll printCluster randomSubset

Subclasses
%DeepSee.extensions.clusters.CLARA %DeepSee.extensions.clusters.PAMSA

Properties

• property K as %Integer;
The number of clusters to create

Methods

• method ClusterCost(k As %Integer) as %Double
• method CurrentTotalCost()
• method Execute() as %Status
• method IsPrepared() as %Boolean
Checks whether the model is ready for an analysis to be executed. This is dependent on a specific algorithm and therefore this method is overriden by subclasses.
• classmethod New(dsName As %String, Output sc As %Status) as PAM
• classmethod Open(dsName As %String, Output sc As %Status) as PAM
• method Prepare() as %Status
• method TotalCost()