org.apache.predictionio.controller

Engine

class Engine[TD, EI, PD, Q, P, A] extends BaseEngine[EI, Q, P, A]

This class chains up the entire data process. PredictionIO uses this information to create workflows and deployments. In Scala, you should implement an object that extends the EngineFactory trait similar to the following example.

object ItemRankEngine extends EngineFactory {
def apply() = {
  new Engine(
    classOf[ItemRankDataSource],
    classOf[ItemRankPreparator],
    Map(
      "knn" -> classOf[KNNAlgorithm],
      "rand" -> classOf[RandomAlgorithm],
      "mahoutItemBased" -> classOf[MahoutItemBasedAlgorithm]),
    classOf[ItemRankServing])
}
}
TD

Training data class.

EI

Evaluation info class.

PD

Prepared data class.

Q

Input query class.

P

Output prediction class.

A

Actual value class.

See also

EngineFactory

Linear Supertypes
BaseEngine[EI, Q, P, A], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Engine
  2. BaseEngine
  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 Engine(dataSourceClass: Class[_ <: BaseDataSource[TD, EI, Q, A]], preparatorClass: Class[_ <: BasePreparator[TD, PD]], algorithmClassMap: Map[String, Class[_ <: BaseAlgorithm[PD, _, Q, P]]], servingClass: Class[_ <: BaseServing[Q, P]])

    Java-friendly constructor

    Java-friendly constructor

    dataSourceClass

    Data source class.

    preparatorClass

    Preparator class.

    algorithmClassMap

    Map of algorithm names to classes.

    servingClass

    Serving class.

  2. new Engine(dataSourceClass: Class[_ <: BaseDataSource[TD, EI, Q, A]], preparatorClass: Class[_ <: BasePreparator[TD, PD]], algorithmClassMap: Map[String, Class[_ <: BaseAlgorithm[PD, _, Q, P]]], servingClass: Class[_ <: BaseServing[Q, P]])

    This auxiliary constructor is provided for backward compatibility.

    This auxiliary constructor is provided for backward compatibility.

    dataSourceClass

    Data source class.

    preparatorClass

    Preparator class.

    algorithmClassMap

    Map of algorithm names to classes.

    servingClass

    Serving class.

  3. new Engine(dataSourceClassMap: Map[String, Class[_ <: BaseDataSource[TD, EI, Q, A]]], preparatorClassMap: Map[String, Class[_ <: BasePreparator[TD, PD]]], algorithmClassMap: Map[String, Class[_ <: BaseAlgorithm[PD, _, Q, P]]], servingClassMap: Map[String, Class[_ <: BaseServing[Q, P]]])

    dataSourceClassMap

    Map of data source names to class.

    preparatorClassMap

    Map of preparator names to class.

    algorithmClassMap

    Map of algorithm names to classes.

    servingClassMap

    Map of serving names to class.

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. val algorithmClassMap: Map[String, Class[_ <: BaseAlgorithm[PD, _, Q, P]]]

    Map of algorithm names to classes.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def batchEval(sc: SparkContext, engineParamsList: Seq[EngineParams], params: WorkflowParams): Seq[(EngineParams, Seq[(EI, RDD[(Q, P, A)])])]

    :: DeveloperApi :: Override this method to further optimize the process that runs multiple evaluations (during tuning, for example).

    :: DeveloperApi :: Override this method to further optimize the process that runs multiple evaluations (during tuning, for example). By default, this method calls eval for each element in the engine parameters list.

    sc

    An instance of SparkContext.

    engineParamsList

    A list of EngineParams for running batch evaluation.

    params

    An instance of WorkflowParams that controls the workflow.

    returns

    A list of engine parameters and evaluation result (from eval) tuples.

    Definition Classes
    BaseEngine
    Annotations
    @DeveloperApi()
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def copy(dataSourceClassMap: Map[String, Class[_ <: BaseDataSource[TD, EI, Q, A]]] = dataSourceClassMap, preparatorClassMap: Map[String, Class[_ <: BasePreparator[TD, PD]]] = preparatorClassMap, algorithmClassMap: Map[String, Class[_ <: BaseAlgorithm[PD, _, Q, P]]] = algorithmClassMap, servingClassMap: Map[String, Class[_ <: BaseServing[Q, P]]] = servingClassMap): Engine[TD, EI, PD, Q, P, A]

    Returns a new Engine instance, mimicking case class's copy method behavior.

  11. val dataSourceClassMap: Map[String, Class[_ <: BaseDataSource[TD, EI, Q, A]]]

    Map of data source names to class.

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

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

    Definition Classes
    AnyRef → Any
  14. def eval(sc: SparkContext, engineParams: EngineParams, params: WorkflowParams): Seq[(EI, RDD[(Q, P, A)])]

    This is implemented such that org.apache.predictionio.controller.Evaluation can use this method to generate inputs for org.apache.predictionio.controller.Metric.

    This is implemented such that org.apache.predictionio.controller.Evaluation can use this method to generate inputs for org.apache.predictionio.controller.Metric.

    sc

    An instance of SparkContext.

    engineParams

    An instance of EngineParams for running a single evaluation.

    params

    An instance of WorkflowParams that controls the workflow.

    returns

    A list of evaluation information and RDD of query, predicted result, and actual result tuple tuple.

    Definition Classes
    EngineBaseEngine
  15. def finalize(): Unit

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

    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

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

    Definition Classes
    Any
  19. def jValueToEngineParams(variantJson: JValue, jsonExtractor: JsonExtractorOption): EngineParams

    :: DeveloperApi :: Implement this method to convert a JValue (read from an engine variant JSON file) to an instance of EngineParams.

    :: DeveloperApi :: Implement this method to convert a JValue (read from an engine variant JSON file) to an instance of EngineParams.

    variantJson

    Content of the engine variant JSON as JValue.

    jsonExtractor

    Content of the engine variant JSON as JValue.

    returns

    An instance of EngineParams converted from JSON.

    Definition Classes
    EngineBaseEngine
  20. lazy val logger: Logger

    Attributes
    protected
  21. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  24. val preparatorClassMap: Map[String, Class[_ <: BasePreparator[TD, PD]]]

    Map of preparator names to class.

  25. val servingClassMap: Map[String, Class[_ <: BaseServing[Q, P]]]

    Map of serving names to class.

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

    Definition Classes
    AnyRef
  27. def toString(): String

    Definition Classes
    AnyRef → Any
  28. def train(sc: SparkContext, engineParams: EngineParams, engineInstanceId: String, params: WorkflowParams): Seq[Any]

    Training this engine would return a list of models.

    Training this engine would return a list of models.

    sc

    An instance of SparkContext.

    engineParams

    An instance of EngineParams for running a single training.

    params

    An instance of WorkflowParams that controls the workflow.

    returns

    A list of models.

    Definition Classes
    EngineBaseEngine
  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 BaseEngine[EI, Q, P, A]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped