org.apache.spark.mllib.clustering

KMeans

class KMeans extends Serializable with Logging

K-means clustering with a k-means++ like initialization mode (the k-means|| algorithm by Bahmani et al).

This is an iterative algorithm that will make multiple passes over the data, so any RDDs given to it should be cached by the user.

Annotations
@Since( "0.8.0" )
Linear Supertypes
Logging, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. KMeans
  2. Logging
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new KMeans()

    Constructs a KMeans instance with default parameters: {k: 2, maxIterations: 20, initializationMode: "k-means||", initializationSteps: 2, epsilon: 1e-4, seed: random}.

    Constructs a KMeans instance with default parameters: {k: 2, maxIterations: 20, initializationMode: "k-means||", initializationSteps: 2, epsilon: 1e-4, seed: random}.

    Annotations
    @Since( "0.8.0" )

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 clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def getEpsilon: Double

    The distance threshold within which we've consider centers to have converged.

    The distance threshold within which we've consider centers to have converged.

    Annotations
    @Since( "1.4.0" )
  13. def getInitializationMode: String

    The initialization algorithm.

    The initialization algorithm. This can be either "random" or "k-means||".

    Annotations
    @Since( "1.4.0" )
  14. def getInitializationSteps: Int

    Number of steps for the k-means|| initialization mode

    Number of steps for the k-means|| initialization mode

    Annotations
    @Since( "1.4.0" )
  15. def getK: Int

    Number of clusters to create (k).

    Number of clusters to create (k).

    Annotations
    @Since( "1.4.0" )
    Note

    It is possible for fewer than k clusters to be returned, for example, if there are fewer than k distinct points to cluster.

  16. def getMaxIterations: Int

    Maximum number of iterations allowed.

    Maximum number of iterations allowed.

    Annotations
    @Since( "1.4.0" )
  17. def getSeed: Long

    The random seed for cluster initialization.

    The random seed for cluster initialization.

    Annotations
    @Since( "1.4.0" )
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Attributes
    protected
    Definition Classes
    Logging
  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  22. def log: Logger

    Attributes
    protected
    Definition Classes
    Logging
  23. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  24. def logDebug(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  25. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  26. def logError(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  27. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  28. def logInfo(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  29. def logName: String

    Attributes
    protected
    Definition Classes
    Logging
  30. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  31. def logTrace(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  32. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  33. def logWarning(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  34. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  37. def run(data: RDD[Vector]): KMeansModel

    Train a K-means model on the given set of points; data should be cached for high performance, because this is an iterative algorithm.

    Train a K-means model on the given set of points; data should be cached for high performance, because this is an iterative algorithm.

    Annotations
    @Since( "0.8.0" )
  38. def setEpsilon(epsilon: Double): KMeans.this.type

    Set the distance threshold within which we've consider centers to have converged.

    Set the distance threshold within which we've consider centers to have converged. If all centers move less than this Euclidean distance, we stop iterating one run.

    Annotations
    @Since( "0.8.0" )
  39. def setInitialModel(model: KMeansModel): KMeans.this.type

    Set the initial starting point, bypassing the random initialization or k-means|| The condition model.

    Set the initial starting point, bypassing the random initialization or k-means|| The condition model.k == this.k must be met, failure results in an IllegalArgumentException.

    Annotations
    @Since( "1.4.0" )
  40. def setInitializationMode(initializationMode: String): KMeans.this.type

    Set the initialization algorithm.

    Set the initialization algorithm. This can be either "random" to choose random points as initial cluster centers, or "k-means||" to use a parallel variant of k-means++ (Bahmani et al., Scalable K-Means++, VLDB 2012). Default: k-means||.

    Annotations
    @Since( "0.8.0" )
  41. def setInitializationSteps(initializationSteps: Int): KMeans.this.type

    Set the number of steps for the k-means|| initialization mode.

    Set the number of steps for the k-means|| initialization mode. This is an advanced setting -- the default of 2 is almost always enough. Default: 2.

    Annotations
    @Since( "0.8.0" )
  42. def setK(k: Int): KMeans.this.type

    Set the number of clusters to create (k).

    Set the number of clusters to create (k).

    Annotations
    @Since( "0.8.0" )
    Note

    It is possible for fewer than k clusters to be returned, for example, if there are fewer than k distinct points to cluster. Default: 2.

  43. def setMaxIterations(maxIterations: Int): KMeans.this.type

    Set maximum number of iterations allowed.

    Set maximum number of iterations allowed. Default: 20.

    Annotations
    @Since( "0.8.0" )
  44. def setSeed(seed: Long): KMeans.this.type

    Set the random seed for cluster initialization.

    Set the random seed for cluster initialization.

    Annotations
    @Since( "1.4.0" )
  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  46. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def getRuns: Int

    This function has no effect since Spark 2.

    This function has no effect since Spark 2.0.0.

    Annotations
    @Since( "1.4.0" ) @deprecated
    Deprecated

    (Since version 2.1.0) This has no effect and always returns 1

  2. def setRuns(runs: Int): KMeans.this.type

    This function has no effect since Spark 2.

    This function has no effect since Spark 2.0.0.

    Annotations
    @Since( "0.8.0" ) @deprecated
    Deprecated

    (Since version 2.1.0) This has no effect

Inherited from Logging

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped