clustering-0.2.0: src/AI/Clustering/KMeans/Types.hs
--------------------------------------------------------------------------------
-- |
-- Module : AI.Clustering.KMeans.Types
-- Copyright : (c) 2015 Kai Zhang
-- License : MIT
--
-- Maintainer : kai@kzhang.org
-- Stability : experimental
-- Portability : portable
--
-- <module description starting at first column>
--------------------------------------------------------------------------------
module AI.Clustering.KMeans.Types
( KMeans(..)
, Method(..)
) where
import qualified Data.Matrix.Unboxed as MU
import qualified Data.Vector.Unboxed as U
-- | Results from running kmeans
data KMeans = KMeans
{ _clusters :: U.Vector Int -- ^ A vector of integers (0 ~ k-1)
-- indicating the cluster to which each
-- point is allocated.
, _centers :: MU.Matrix Double -- ^ A matrix of cluster centers.
} deriving (Show)
-- | Different initialization methods
data Method = Forgy -- ^ The Forgy method randomly chooses k unique
-- observations from the data set and uses these
-- as the initial means.
| KMeansPP -- ^ K-means++ algorithm.