Packages

c

org.apache.spark.mllib.clustering

StreamingKMeans

class StreamingKMeans extends Logging with Serializable

StreamingKMeans provides methods for configuring a streaming k-means analysis, training the model on streaming, and using the model to make predictions on streaming data. See KMeansModel for details on algorithm and update rules.

Use a builder pattern to construct a streaming k-means analysis in an application, like:

val model = new StreamingKMeans()
  .setDecayFactor(0.5)
  .setK(3)
  .setRandomCenters(5, 100.0)
  .trainOn(DStream)
Annotations
@Since( "1.2.0" )
Source
StreamingKMeans.scala
Linear Supertypes
Serializable, Serializable, Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StreamingKMeans
  2. Serializable
  3. Serializable
  4. Logging
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StreamingKMeans()
    Annotations
    @Since( "1.2.0" )
  2. new StreamingKMeans(k: Int, decayFactor: Double, timeUnit: String)
    Annotations
    @Since( "1.2.0" )

Value Members

  1. var decayFactor: Double
    Annotations
    @Since( "1.2.0" )
  2. var k: Int
    Annotations
    @Since( "1.2.0" )
  3. def latestModel(): StreamingKMeansModel

    Return the latest model.

    Return the latest model.

    Annotations
    @Since( "1.2.0" )
  4. def predictOn(data: JavaDStream[Vector]): JavaDStream[Integer]

    Java-friendly version of predictOn.

    Java-friendly version of predictOn.

    Annotations
    @Since( "1.4.0" )
  5. def predictOn(data: DStream[Vector]): DStream[Int]

    Use the clustering model to make predictions on batches of data from a DStream.

    Use the clustering model to make predictions on batches of data from a DStream.

    data

    DStream containing vector data

    returns

    DStream containing predictions

    Annotations
    @Since( "1.2.0" )
  6. def predictOnValues[K](data: JavaPairDStream[K, Vector]): JavaPairDStream[K, Integer]

    Java-friendly version of predictOnValues.

    Java-friendly version of predictOnValues.

    Annotations
    @Since( "1.4.0" )
  7. def predictOnValues[K](data: DStream[(K, Vector)])(implicit arg0: ClassTag[K]): DStream[(K, Int)]

    Use the model to make predictions on the values of a DStream and carry over its keys.

    Use the model to make predictions on the values of a DStream and carry over its keys.

    K

    key type

    data

    DStream containing (key, feature vector) pairs

    returns

    DStream containing the input keys and the predictions as values

    Annotations
    @Since( "1.2.0" )
  8. def setDecayFactor(a: Double): StreamingKMeans.this.type

    Set the forgetfulness of the previous centroids.

    Set the forgetfulness of the previous centroids.

    Annotations
    @Since( "1.2.0" )
  9. def setHalfLife(halfLife: Double, timeUnit: String): StreamingKMeans.this.type

    Set the half life and time unit ("batches" or "points").

    Set the half life and time unit ("batches" or "points"). If points, then the decay factor is raised to the power of number of new points and if batches, then decay factor will be used as is.

    Annotations
    @Since( "1.2.0" )
  10. def setInitialCenters(centers: Array[Vector], weights: Array[Double]): StreamingKMeans.this.type

    Specify initial centers directly.

    Specify initial centers directly.

    Annotations
    @Since( "1.2.0" )
  11. def setK(k: Int): StreamingKMeans.this.type

    Set the number of clusters.

    Set the number of clusters.

    Annotations
    @Since( "1.2.0" )
  12. def setRandomCenters(dim: Int, weight: Double, seed: Long = Utils.random.nextLong): StreamingKMeans.this.type

    Initialize random centers, requiring only the number of dimensions.

    Initialize random centers, requiring only the number of dimensions.

    dim

    Number of dimensions

    weight

    Weight for each center

    seed

    Random seed

    Annotations
    @Since( "1.2.0" )
  13. var timeUnit: String
    Annotations
    @Since( "1.2.0" )
  14. def trainOn(data: JavaDStream[Vector]): Unit

    Java-friendly version of trainOn.

    Java-friendly version of trainOn.

    Annotations
    @Since( "1.4.0" )
  15. def trainOn(data: DStream[Vector]): Unit

    Update the clustering model by training on batches of data from a DStream.

    Update the clustering model by training on batches of data from a DStream. This operation registers a DStream for training the model, checks whether the cluster centers have been initialized, and updates the model using each batch of data from the stream.

    data

    DStream containing vector data

    Annotations
    @Since( "1.2.0" )