scalation.analytics

KMeansClustering

class KMeansClustering extends Clusterer with Error

The KMeansClustering class 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, Clusterer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. KMeansClustering
  2. Error
  3. Clusterer
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
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: 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. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. 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.

  6. def calcCentroids(): Unit

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

  7. 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
    KMeansClusteringClusterer
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. 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
    KMeansClusteringClusterer
  10. 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

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

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. 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
  15. final def getClass(): Class[_]

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

    Get the name of the i-th cluster.

    Get the name of the i-th cluster.

    Definition Classes
    Clusterer
  17. def hashCode(): Int

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

    Definition Classes
    Any
  19. 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
    Clusterer
  20. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  23. 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.

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

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

    Definition Classes
    AnyRef
  26. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Error

Inherited from Clusterer

Inherited from AnyRef

Inherited from Any

Ungrouped