Model

Abstract class that represents a PMML model

Companion:
object

Value members

Abstract methods

Creates an object of subclass of ModelOutputs that is for writing into an output series.

Creates an object of subclass of ModelOutputs that is for writing into an output series.

Model element type.

Model element type.

def predict(values: Series): Series

Predicts values for a given data series.

Predicts values for a given data series.

Concrete methods

The schema of candidate outputs.

The schema of candidate outputs.

def classes(name: String): Array[Any]

Returns class labels of the specified target.

Returns class labels of the specified target.

The data dictionary of this model.

The data dictionary of this model.

Returns all candidates output fields of this model when there is no output specified explicitly.

Returns all candidates output fields of this model when there is no output specified explicitly.

Get fields by its usage type: 'active', 'target', 'predicted', 'group' and so on

Get fields by its usage type: 'active', 'target', 'predicted', 'group' and so on

override def getField(name: String): Option[Field]

Returns the field of a given name, None if a field with the given name does not exist.

Returns the field of a given name, None if a field with the given name does not exist.

Definition Classes

The header of this model.

The header of this model.

def importances: Map[String, Double]

Returns importances of predictors.

Returns importances of predictors.

def inferClasses: Array[Any]

The sub-classes can override this method to provide classes of target inside model.

The sub-classes can override this method to provide classes of target inside model.

def isBinary: Boolean

Tests if the target is a binary field

Tests if the target is a binary field

override def isClassification: Boolean

Tests if this is a classification model.

Tests if this is a classification model.

Definition Classes
def isClassification(name: String): Boolean

Tests if this is a classification model of the specified target, it's applicable for multiple targets.

Tests if this is a classification model of the specified target, it's applicable for multiple targets.

def isOrdinal: Boolean

Tests if the target is an ordinal field

Tests if the target is an ordinal field

override def isRegression: Boolean

Tests if this is a regression model.

Tests if this is a regression model.

Definition Classes
def isRegression(name: String): Boolean

Tests if this is a regression model of the specified target, it's applicable for multiple targets.

Tests if this is a regression model of the specified target, it's applicable for multiple targets.

def numClasses(name: String): Int

Returns the number of class labels of the specified target.

Returns the number of class labels of the specified target.

def opType(name: String): OpType

Returns optype of the specified target.

Returns optype of the specified target.

The schema of final outputs.

The schema of final outputs.

def predict(values: Map[String, Any]): Map[String, Any]

Predicts values for a given data map.

Predicts values for a given data map.

def predict(values: Map[String, Any]): Map[String, Any]

Predicts values for a given data map of Java.

Predicts values for a given data map of Java.

def predict(values: (String, Any)*): Seq[(String, Any)]

Predicts values for a given list of key/value pairs.

Predicts values for a given list of key/value pairs.

def predict[T](values: Array[T]): Array[Any]

Predicts values for a given Array, and the order of those values is supposed as same as the input fields list

Predicts values for a given Array, and the order of those values is supposed as same as the input fields list

def predict(values: List[Any]): List[Any]
def predict(json: String): String

Predicts one or multiple records in json format, there are two formats supported:

Predicts one or multiple records in json format, there are two formats supported:

  • ‘records’ : list like [{column -> value}, … , {column -> value}]
  • ‘split’ : dict like {‘columns’ -> [columns], ‘data’ -> [values]}
Value parameters:
json

Records in json

Returns:

Results in json

def predict(it: Iterator[Series]): Iterator[Series]

Tests if probabilities of categories of target can be produced by this model.

Tests if probabilities of categories of target can be produced by this model.

The optional transformation dictionary.

The optional transformation dictionary.

Inherited methods

def algorithmName: Option[String]

Common attributes of this model

Common attributes of this model

Inherited from:
HasWrappedModelAttributes
Inherited from:
HasOutput
def combineOutputFields(listA: Array[OutputField], listB: Array[OutputField]): Array[OutputField]
Inherited from:
HasOutput
def containInterResults: Boolean
Inherited from:
HasOutput
def dVersion: Double

Returns PMML version as a double value

Returns PMML version as a double value

Inherited from:
HasVersion
Inherited from:
HasExtensions
def field(name: String): Field

Returns the field of a given name.

Returns the field of a given name.

Throws:
FieldNotFoundException

if a field with the given name does not exist

Inherited from:
HasField
def hasExtensions: Boolean
Inherited from:
HasExtensions
def hasTarget: Boolean
Inherited from:
HasTargetFields
def isAssociationRules: Boolean

Tests if this is a association rules model.

Tests if this is a association rules model.

Inherited from:
HasModelAttributes
def isClustering: Boolean

Tests if this is a clustering model.

Tests if this is a clustering model.

Inherited from:
HasModelAttributes
def isMixed: Boolean

Tests if this is a mixed model.

Tests if this is a mixed model.

Inherited from:
HasModelAttributes
def isPredictionOnly: Boolean
Inherited from:
HasOutput
def isScorable: Boolean
def isSequences: Boolean

Tests if this is a sequences model.

Tests if this is a sequences model.

Inherited from:
HasModelAttributes
def isSubModel: Boolean
Inherited from:
ModelLocation
def isTimeSeries: Boolean

Tests if this is a time series model.

Tests if this is a time series model.

Inherited from:
HasModelAttributes
def isTopLevelModel: Boolean
Inherited from:
ModelLocation

The optional local transformations.

The optional local transformations.

Inherited from:
HasLocalTransformations
def modelName: Option[String]
def modelStats: Option[ModelStats]
Inherited from:
HasModelStats
def multiTargets: Boolean
Inherited from:
HasTargetFields
def output: Option[Output]
Inherited from:
HasOutput
Inherited from:
HasOutput
def outputIndex(feature: ResultFeature, value: Option[Any]): Int
Inherited from:
HasOutput
def outputNames: Array[String]
Inherited from:
HasOutput
def setOutputFields(outputFields: Array[OutputField]): Model
Inherited from:
HasOutput
def setParent(parent: Model): Model
Inherited from:
HasParent
def setSupplementOutput(value: Boolean): Model
Inherited from:
HasOutput
def singleTarget: Boolean
Inherited from:
HasTargetFields
def size: Int
Inherited from:
HasTargetFields

Returns targets that are residual values to be computed, the input data must include target values.

Returns targets that are residual values to be computed, the input data must include target values.

Inherited from:
HasOutput
def targetName: String

Name of the first target for the supervised model.

Name of the first target for the supervised model.

Inherited from:
HasTargetFields
def targetNamesOfResidual: Array[String]
Inherited from:
HasOutput
def targets: Option[Targets]
Inherited from:
HasTargets
Inherited from:
HasOutput
def version: String

PMML version.

PMML version.

Inherited from:
HasVersion

Concrete fields

lazy val classes: Array[Any]

The class labels in a classification model.

The class labels in a classification model.

Implicit referenced derived fields for the sub-model except ones defined in the mining schema.

Implicit referenced derived fields for the sub-model except ones defined in the mining schema.

lazy val inputDerivedFields: Array[Field]

Referenced derived fields.

Referenced derived fields.

lazy val inputFields: Array[Field]

All input fields in an array.

All input fields in an array.

lazy val inputNames: Array[String]

All input names in an array.

All input names in an array.

The schema of inputs.

The schema of inputs.

lazy val nullSeries: Series

A series with all null values is returned when can not produce a result.

A series with all null values is returned when can not produce a result.

lazy val numClasses: Int

The number of class labels in a classification model.

The number of class labels in a classification model.

lazy val opType: OpType

When Target specifies optype then it overrides the optype attribute in a corresponding MiningField, if it exists. If the target does not specify optype then the MiningField is used as default. And, in turn, if the MiningField does not specify an optype, it is taken from the corresponding DataField. In other words, a MiningField overrides a DataField, and a Target overrides a MiningField.

When Target specifies optype then it overrides the optype attribute in a corresponding MiningField, if it exists. If the target does not specify optype then the MiningField is used as default. And, in turn, if the MiningField does not specify an optype, it is taken from the corresponding DataField. In other words, a MiningField overrides a DataField, and a Target overrides a MiningField.

lazy val targetClasses: Map[String, Array[Any]]

The class labels of all categorical targets.

The class labels of all categorical targets.

lazy val targetField: Field

The first target field for the supervised model.

The first target field for the supervised model.

lazy val targetFields: Array[Field]

All target fields in an array. Multiple target fields are allowed. It depends on the kind of the model whether prediction of multiple fields is supported.

All target fields in an array. Multiple target fields are allowed. It depends on the kind of the model whether prediction of multiple fields is supported.

lazy val targetNames: Array[String]

All target names in an array.

All target names in an array.

lazy val usedFields: Array[Field]

Setup indices to retrieve data from series faster by index instead of name, the index is immutable when model is built because the model object could run in multiple threads, so it's important make sure the model object is totally immutable.

Setup indices to retrieve data from series faster by index instead of name, the index is immutable when model is built because the model object could run in multiple threads, so it's important make sure the model object is totally immutable.

Setup indices of targets that are usually not used by the scoring process, they are only used when residual values to be computed.

The schema of used fields.

The schema of used fields.

Inherited fields

User-defined custom output fields, both the internal output of PMML and predefined output are ignored when the field is specified.

User-defined custom output fields, both the internal output of PMML and predefined output are ignored when the field is specified.

Inherited from:
HasOutput

The parent model.

The parent model.

Inherited from:
HasParent
lazy val predictedValueIndex: Int
Inherited from:
HasOutput
var supplementOutput: Boolean

A flag for whether to return those predefined output fields not exist in the output element explicitly.

A flag for whether to return those predefined output fields not exist in the output element explicitly.

Inherited from:
HasOutput