Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package apache
    Definition Classes
    org
  • package spark

    Core Spark functionality.

    Core Spark functionality. org.apache.spark.SparkContext serves as the main entry point to Spark, while org.apache.spark.rdd.RDD is the data type representing a distributed collection, and provides most parallel operations.

    In addition, org.apache.spark.rdd.PairRDDFunctions contains operations available only on RDDs of key-value pairs, such as groupByKey and join; org.apache.spark.rdd.DoubleRDDFunctions contains operations available only on RDDs of Doubles; and org.apache.spark.rdd.SequenceFileRDDFunctions contains operations available on RDDs that can be saved as SequenceFiles. These operations are automatically available on any RDD of the right type (e.g. RDD[(Int, Int)] through implicit conversions.

    Java programmers should reference the org.apache.spark.api.java package for Spark programming APIs in Java.

    Classes and methods marked with Experimental are user-facing features which have not been officially adopted by the Spark project. These are subject to change or removal in minor releases.

    Classes and methods marked with Developer API are intended for advanced users want to extend Spark through lower level interfaces. These are subject to changes or removal in minor releases.

    Definition Classes
    apache
  • package mllib

    RDD-based machine learning APIs (in maintenance mode).

    RDD-based machine learning APIs (in maintenance mode).

    The spark.mllib package is in maintenance mode as of the Spark 2.0.0 release to encourage migration to the DataFrame-based APIs under the org.apache.spark.ml package. While in maintenance mode,

    • no new features in the RDD-based spark.mllib package will be accepted, unless they block implementing new features in the DataFrame-based spark.ml package;
    • bug fixes in the RDD-based APIs will still be accepted.

    The developers will continue adding more features to the DataFrame-based APIs in the 2.x series to reach feature parity with the RDD-based APIs. And once we reach feature parity, this package will be deprecated.

    Definition Classes
    spark
    See also

    SPARK-4591 to track the progress of feature parity

  • package classification
    Definition Classes
    mllib
  • package clustering
    Definition Classes
    mllib
  • package evaluation
    Definition Classes
    mllib
  • package feature
    Definition Classes
    mllib
  • package fpm
    Definition Classes
    mllib
  • package linalg
    Definition Classes
    mllib
  • package optimization
    Definition Classes
    mllib
  • package pmml
    Definition Classes
    mllib
  • package random
    Definition Classes
    mllib
  • package rdd
    Definition Classes
    mllib
  • package recommendation
    Definition Classes
    mllib
  • ALS
  • MatrixFactorizationModel
  • Rating
  • package regression
    Definition Classes
    mllib
  • package stat
    Definition Classes
    mllib
  • package tree

    This package contains the default implementation of the decision tree algorithm, which supports:

    This package contains the default implementation of the decision tree algorithm, which supports:

    • binary classification,
    • regression,
    • information loss calculation with entropy and Gini for classification and variance for regression,
    • both continuous and categorical features.
    Definition Classes
    mllib
  • package util
    Definition Classes
    mllib
p

org.apache.spark.mllib

recommendation

package recommendation

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class ALS extends Serializable with Logging

    Alternating Least Squares matrix factorization.

    Alternating Least Squares matrix factorization.

    ALS attempts to estimate the ratings matrix R as the product of two lower-rank matrices, X and Y, i.e. X * Yt = R. Typically these approximations are called 'factor' matrices. The general approach is iterative. During each iteration, one of the factor matrices is held constant, while the other is solved for using least squares. The newly-solved factor matrix is then held constant while solving for the other factor matrix.

    This is a blocked implementation of the ALS factorization algorithm that groups the two sets of factors (referred to as "users" and "products") into blocks and reduces communication by only sending one copy of each user vector to each product block on each iteration, and only for the product blocks that need that user's feature vector. This is achieved by precomputing some information about the ratings matrix to determine the "out-links" of each user (which blocks of products it will contribute to) and "in-link" information for each product (which of the feature vectors it receives from each user block it will depend on). This allows us to send only an array of feature vectors between each user block and product block, and have the product block find the users' ratings and update the products based on these messages.

    For implicit preference data, the algorithm used is based on "Collaborative Filtering for Implicit Feedback Datasets", available at here, adapted for the blocked approach used here.

    Essentially instead of finding the low-rank approximations to the rating matrix R, this finds the approximations for a preference matrix P where the elements of P are 1 if r > 0 and 0 if r <= 0. The ratings then act as 'confidence' values related to strength of indicated user preferences rather than explicit ratings given to items.

    Note: the input rating RDD to the ALS implementation should be deterministic. Nondeterministic data can cause failure during fitting ALS model. For example, an order-sensitive operation like sampling after a repartition makes RDD output nondeterministic, like rdd.repartition(2).sample(false, 0.5, 1618). Checkpointing sampled RDD or adding a sort before sampling can help make the RDD deterministic.

    Annotations
    @Since( "0.8.0" )
  2. class MatrixFactorizationModel extends Saveable with Serializable with Logging

    Model representing the result of matrix factorization.

    Model representing the result of matrix factorization.

    Annotations
    @Since( "0.8.0" )
    Note

    If you create the model directly using constructor, please be aware that fast prediction requires cached user/product features and their associated partitioners.

  3. case class Rating(user: Int, product: Int, rating: Double) extends Product with Serializable

    A more compact class to represent a rating than Tuple3[Int, Int, Double].

    A more compact class to represent a rating than Tuple3[Int, Int, Double].

    Annotations
    @Since( "0.8.0" )

Value Members

  1. object ALS extends Serializable

    Top-level methods for calling Alternating Least Squares (ALS) matrix factorization.

    Top-level methods for calling Alternating Least Squares (ALS) matrix factorization.

    Annotations
    @Since( "0.8.0" )
  2. object MatrixFactorizationModel extends Loader[MatrixFactorizationModel] with Serializable
    Annotations
    @Since( "1.3.0" )

Ungrouped