scalation.analytics

KMeansClustering

class KMeansClustering extends Clustering with Error

Cluster several vectors/points using k-means clustering. Either (1) randomly assign points to k clusters or (2) randomly pick k points as initial centroids (technique (1) to work better and is the primary technique). Iteratively, reassign each point to the cluster containing the closest centroid. Stop when there are no changes to the clusters.

Linear Supertypes
Error, Clustering, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. KMeansClustering
  2. Error
  3. Clustering
  4. AnyRef
  5. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new KMeansClustering(x: MatrixD, k: Int, s: Int = 0, primary: Boolean = true)

    x

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

    k

    the number of clusters to make

    s

    the random number stream (to vary the clusters made)

    primary

    true indicates use the primary technique for initiating the clustering

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def assign(): Unit

    Assign each vector/point to a random cluster.

    Assign each vector/point to a random cluster. Primary technique for initiating the clustering.

  8. def calcCentroids(): Unit

    Calculate the centroids based on current assignment of points to clusters.

  9. def classify(y: VectorD): Int

    Given a new point/vector y, determine which cluster it belongs to (i.

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

    y

    the vector to classify

    Definition Classes
    KMeansClusteringClustering
  10. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def cluster(): Array[Int]

    Iteratively recompute clusters until the assignment of points does not change, returning the final cluster assignment vector.

    Iteratively recompute clusters until the assignment of points does not change, returning the final cluster assignment vector.

    Definition Classes
    KMeansClusteringClustering
  12. def distance(u: VectorD, v: VectorD): Double

    Compute a distance metric between vectors/points u and v.

    Compute a distance metric between vectors/points u and v.

    u

    the first vector/point

    v

    the second vector/point

  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  16. def flaw(method: String, message: String): Unit

    Show the flaw by printing the error message.

    Show the flaw by printing the error message.

    method

    the method where the error occurred

    message

    the error message

    Definition Classes
    Error
  17. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  18. def getName(i: Int): String

    Get the name of the i-th cluster.

    Get the name of the i-th cluster.

    Definition Classes
    Clustering
  19. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. def name_(n: Array[String]): Unit

    Set the names for the clusters.

    Set the names for the clusters.

    n

    the array of names

    Definition Classes
    Clustering
  22. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  25. def pickCentroids(): Unit

    Randomly pick vectors/points to serve as the initial k centroids (cent).

    Randomly pick vectors/points to serve as the initial k centroids (cent). Secondary technique for initiating the clustering.

  26. 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).

  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  28. def toString(): String

    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  30. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  31. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Error

Inherited from Clustering

Inherited from AnyRef

Inherited from Any