class KMeansPPClusterer extends KMeansClusterer

The KMeansPPClusterer class cluster several vectors/points using the k-means++ clustering technique. -----------------------------------------------------------------------------

See also

ilpubs.stanford.edu:8090/778/1/2006-13.pdf -----------------------------------------------------------------------------

Linear Supertypes
KMeansClusterer, Error, Clusterer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. KMeansPPClusterer
  2. KMeansClusterer
  3. Error
  4. Clusterer
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new KMeansPPClusterer(x: MatriD, k: Int, algo: Algorithm.Algorithm = HARTIGAN, flags: Array[Boolean] = Array (false, false))

    x

    the vectors/points to be clustered stored as rows of a matrix

    k

    the number of clusters to make

    algo

    the clustering algorithm to use

    flags

    the flags used to adjust the algorithm

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val MAX_ITER: Int
    Attributes
    protected
    Definition Classes
    KMeansClusterer
  5. var _k: Int
    Attributes
    protected
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def assign(): Unit

    Randomly assign each vector/point 'x(i)' to a random cluster.

    Randomly assign each vector/point 'x(i)' to a random cluster. Primary technique for initiating the clustering.

    Attributes
    protected
    Definition Classes
    KMeansClusterer
  8. def calcCentroids(x: MatriD, to_c: Array[Int], sz: VectoI, cent: MatriD): Unit

    Calculate the centroids based on current assignment of points to clusters and update the 'cent' matrix that stores the centroids in its rows.

    Calculate the centroids based on current assignment of points to clusters and update the 'cent' matrix that stores the centroids in its rows.

    x

    the data matrix holding the points {x_i = x(i)} in its rows

    to_c

    the cluster assignment array

    sz

    the sizes of the clusters (number of points)

    cent

    the matrix holding the centroids in its rows

    Definition Classes
    Clusterer
  9. val cent: MatrixD
    Attributes
    protected
    Definition Classes
    KMeansClusterer
  10. def centroids: MatriD

    Return the centroids.

    Return the centroids. Should only be called after train.

    Definition Classes
    KMeansClustererClusterer
  11. def checkOpt(x: MatriD, to_c: Array[Int], opt: Double): Boolean

    Check to see if the sum of squared errors is optimum.

    Check to see if the sum of squared errors is optimum.

    x

    the data matrix holding the points

    to_c

    the cluster assignments

    opt

    the known (from human/oracle) optimum

    Definition Classes
    Clusterer
  12. def classify(z: VectoD): Int

    Given a new point/vector 'z', determine which cluster it belongs to, i.e., the cluster whose centroid it is closest to.

    Given a new point/vector 'z', determine which cluster it belongs to, i.e., the cluster whose centroid it is closest to.

    z

    the vector to classify

    Definition Classes
    KMeansClustererClusterer
  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  14. def cluster: Array[Int]

    Return the cluster assignment vector.

    Return the cluster assignment vector. Should only be called after train.

    Definition Classes
    KMeansClustererClusterer
  15. def clusterHartigan(): Array[Int]

    Cluster the points using a version of the Hartigan-Wong algorithm.

    Cluster the points using a version of the Hartigan-Wong algorithm.

    See also

    www.tqmp.org/RegularArticles/vol09-1/p015/p015.pdf

  16. def csize: VectoI

    Return the sizes of the centroids.

    Return the sizes of the centroids. Should only be called after train.

    Definition Classes
    KMeansClustererClusterer
  17. def distance(u: VectoD, cn: MatriD, kc_: Int = -1): VectoD

    Compute the distances between vector/point 'u' and the points stored as rows in matrix 'cn'

    Compute the distances between vector/point 'u' and the points stored as rows in matrix 'cn'

    u

    the given vector/point (u = x_i)

    cn

    the matrix holding several centroids

    kc_

    the number of centroids so far

    Definition Classes
    Clusterer
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  20. def fixEmptyClusters(): Unit

    Fix all empty clusters by taking a point from the largest cluster.

    Fix all empty clusters by taking a point from the largest cluster.

    Attributes
    protected
    Definition Classes
    KMeansClusterer
  21. val flags: Array[Boolean]
    Definition Classes
    KMeansClusterer
  22. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  23. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. val immediate: Boolean
    Attributes
    protected
    Definition Classes
    KMeansClusterer
  26. def initCentroids(): Boolean

    Initialize the centroids according to the k-means++ technique.

    Initialize the centroids according to the k-means++ technique.

    Definition Classes
    KMeansPPClustererClusterer
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. def name(c: Int): String

    Return the name of the 'c'-th cluster.

    Return the name of the 'c'-th cluster.

    c

    the c-th cluster

    Definition Classes
    Clusterer
  29. def name_(nm: Strings): Unit

    Set the names for the clusters.

    Set the names for the clusters.

    nm

    the array of names

    Definition Classes
    Clusterer
  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  33. val pdf: VectorD
    Attributes
    protected
  34. val post: Boolean
    Attributes
    protected
    Definition Classes
    KMeansClusterer
  35. var raniv: PermutedVecI
    Attributes
    protected
    Definition Classes
    KMeansClusterer
  36. def reassign(): Boolean

    Reassign each vector/point to the cluster with the closest centroid.

    Reassign each vector/point to the cluster with the closest centroid. Indicate done, if no points changed clusters (for stopping rule).

    Attributes
    protected
    Definition Classes
    KMeansClusterer
  37. def setStream(s: Int): Unit

    Set the random stream to 's'.

    Set the random stream to 's'. Method must be called in implemeting classes before creating any random generators.

    s

    the new value for the random number stream

    Definition Classes
    Clusterer
  38. def show(l: Int): Unit

    Show the state of the algorithm at iteration 'l'.

    Show the state of the algorithm at iteration 'l'.

    l

    the current iteration

    Definition Classes
    KMeansClusterer
  39. def sse(x: MatriD, c: Int, to_c: Array[Int]): Double

    Compute the sum of squared errors from the points in cluster 'c' to the cluster's centroid.

    Compute the sum of squared errors from the points in cluster 'c' to the cluster's centroid.

    x

    the data matrix holding the points

    c

    the current cluster

    to_c

    the cluster assignments

    Definition Classes
    Clusterer
  40. def sse(x: MatriD, to_c: Array[Int]): Double

    Compute the sum of squared errors within all clusters, where error is indicated by e.g., the distance from a point to its centroid.

    Compute the sum of squared errors within all clusters, where error is indicated by e.g., the distance from a point to its centroid.

    x

    the data matrix holding the points

    to_c

    the cluster assignments

    Definition Classes
    Clusterer
  41. def sst(x: MatriD): Double

    Compute the sum of squares total for all the points from the mean.

    Compute the sum of squares total for all the points from the mean.

    x

    the data matrix holding the points

    Definition Classes
    Clusterer
  42. val stream: Int
    Attributes
    protected
    Definition Classes
    Clusterer
  43. def swap(): Unit

    Try all pairwise swaps and make them if 'sse' improves.

    Try all pairwise swaps and make them if 'sse' improves.

    Attributes
    protected
    Definition Classes
    KMeansClusterer
  44. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  45. val sz: VectorI
    Attributes
    protected
    Definition Classes
    KMeansClusterer
  46. def toString(): String
    Definition Classes
    AnyRef → Any
  47. val to_c: Array[Int]
    Attributes
    protected
    Definition Classes
    KMeansClusterer
  48. def train(): KMeansPPClusterer

    Given a set of points/vectors, put them in clusters, returning the cluster assignment vector.

    Given a set of points/vectors, put them in clusters, returning the cluster assignment vector. A basic goal is to minimize the sum of the distances between points within each cluster.

    Definition Classes
    KMeansPPClustererKMeansClustererClusterer
  49. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  51. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from KMeansClusterer

Inherited from Error

Inherited from Clusterer

Inherited from AnyRef

Inherited from Any

Ungrouped