Class

org.pmml4s.model

MiningModel

Related Doc: package model

Permalink

class MiningModel extends Model with HasWrappedModelAttributes

The element MiningModel allows precise specification of the usage of multiple models within one PMML file. The two main approaches are Model Composition, and Segmentation.

Model Composition includes model sequencing and model selection but is only applicable to Tree and Regression models. Segmentation allows representation of different models for different data segments and also can be used for model ensembles and model sequences. Scoring a case using a model ensemble consists of scoring it using each model separately, then combining the results into a single scoring result using one of the pre-defined combination methods. Scoring a case using a sequence, or chain, of models allows the output of one model to be passed in as input to subsequent models.

ModelComposition uses "embedded model elements" that are defeatured copies of "standalone model elements" -- specifically, Regression for RegressionModel, DecisionTree for TreeModel. Besides being limited to Regression and Tree models, these embedded model elements lack key features like a MiningSchema (essential to manage scope across multiple model elements). Therefore, in PMML 4.2, the Model Composition approach has been deprecated since the Segmentation approach allows for a wider range of models to be used more reliably. For more on deprecation, see Conformance.

Segmentation is accomplished by using any PMML model element inside of a Segment element, which also contains a PREDICATE and an optional weight. MiningModel then contains Segmentation element with a number of Segment elements as well as the attribute multipleModelMethod specifying how all the models applicable to a record should be combined. It is also possible to use a combination of model composition and segmentation approaches, using simple regression or decision trees for data preprocessing before segmentation.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MiningModel
  2. Model
  3. PmmlElement
  4. Serializable
  5. Serializable
  6. HasExtensions
  7. HasModelVerification
  8. Predictable
  9. HasTargetFields
  10. ModelLocation
  11. FieldScope
  12. HasField
  13. HasLocalTransformations
  14. HasTargets
  15. HasModelExplanation
  16. HasModelStats
  17. HasOutput
  18. HasMiningSchema
  19. HasWrappedModelAttributes
  20. HasModelAttributes
  21. HasVersion
  22. HasParent
  23. AnyRef
  24. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MiningModel(parent: Model, attributes: ModelAttributes, miningSchema: MiningSchema, embeddedModels: Array[EmbeddedModel], segmentation: Option[Segmentation], output: Option[Output] = None, targets: Option[Targets] = None, localTransformations: Option[LocalTransformations] = None, modelStats: Option[ModelStats] = None, modelExplanation: Option[ModelExplanation] = None, modelVerification: Option[ModelVerification] = None, extensions: Seq[Extension] = immutable.Seq.empty)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def algorithmName: Option[String]

    Permalink

    The algorithm name is free-type and can be any description for the specific algorithm that produced the model.

    The algorithm name is free-type and can be any description for the specific algorithm that produced the model. This attribute is for information only.

    Definition Classes
    HasWrappedModelAttributesHasModelAttributes
  5. def anyMissing(series: Series): Boolean

    Permalink

    Returns true if there are any missing values of all input fields in the specified series.

    Returns true if there are any missing values of all input fields in the specified series.

    Attributes
    protected
    Definition Classes
    Model
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. val attributes: ModelAttributes

    Permalink

    Common attributes of this model

    Common attributes of this model

    Definition Classes
    MiningModelHasWrappedModelAttributes
  8. def candidateOutputFields: Array[OutputField]

    Permalink
    Definition Classes
    HasOutput
  9. def candidateOutputSchema: StructType

    Permalink

    The schema of candidate outputs.

    The schema of candidate outputs.

    Definition Classes
    Model
  10. def classes(name: String): Array[Any]

    Permalink

    Returns class labels of the specified target.

    Returns class labels of the specified target.

    Definition Classes
    Model
  11. lazy val classes: Array[Any]

    Permalink

    The class labels in a classification model.

    The class labels in a classification model.

    Definition Classes
    Model
  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def combineOutputFields(listA: Array[OutputField], listB: Array[OutputField]): Array[OutputField]

    Permalink
    Definition Classes
    HasOutput
  14. def containInterResults: Boolean

    Permalink
    Definition Classes
    HasOutput
  15. def createOutputs(): MiningOutputs

    Permalink

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

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

    Definition Classes
    MiningModelModel
  16. var customOutputFields: Array[OutputField]

    Permalink

    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.

    Definition Classes
    HasOutput
  17. def dVersion: Double

    Permalink

    Returns PMML version as a double value

    Returns PMML version as a double value

    Definition Classes
    HasVersion
  18. def dataDictionary: DataDictionary

    Permalink

    The data dictionary of this model.

    The data dictionary of this model.

    Definition Classes
    Model
  19. def defaultOutputFields: Array[OutputField]

    Permalink

    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.

    Definition Classes
    MiningModelModelHasOutput
  20. val embeddedModels: Array[EmbeddedModel]

    Permalink
  21. def encode(series: Series): DSeries

    Permalink

    Encodes the input series.

    Encodes the input series.

    Attributes
    protected
    Definition Classes
    Model
  22. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  24. val extensions: Seq[Extension]

    Permalink
    Definition Classes
    MiningModelHasExtensions
  25. def field(name: String): Field

    Permalink

    Returns the field of a given name.

    Returns the field of a given name.

    Definition Classes
    HasField
    Exceptions thrown

    FieldNotFoundException if a field with the given name does not exist

  26. def fieldsOfUsageType(typ: UsageType): Array[Field]

    Permalink

    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

    Definition Classes
    Model
  27. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  28. def functionName: MiningFunction

    Permalink

    Describe the kind of mining model, e.g., whether it is intended to be used for clustering or for classification.

    Describe the kind of mining model, e.g., whether it is intended to be used for clustering or for classification.

    Definition Classes
    HasWrappedModelAttributesHasModelAttributes
  29. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  30. def getField(name: String): Option[Field]

    Permalink

    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
    MiningModelModelHasField
  31. def hasExtensions: Boolean

    Permalink
    Definition Classes
    HasExtensions
  32. def hasTarget: Boolean

    Permalink
    Definition Classes
    HasTargetFields
  33. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  34. def header: Header

    Permalink

    The header of this model.

    The header of this model.

    Definition Classes
    Model
  35. lazy val implicitInputDerivedFields: Array[Field]

    Permalink

    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.

    Definition Classes
    Model
  36. def importances: Map[String, Double]

    Permalink

    Returns importances of predictors.

    Returns importances of predictors.

    Definition Classes
    Model
  37. def inferClasses: Array[Any]

    Permalink

    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.

    Definition Classes
    Model
  38. lazy val inputDerivedFields: Array[Field]

    Permalink

    Referenced derived fields.

    Referenced derived fields.

    Definition Classes
    Model
  39. lazy val inputFields: Array[Field]

    Permalink

    All input fields in an array.

    All input fields in an array.

    Definition Classes
    Model
  40. lazy val inputNames: Array[String]

    Permalink

    All input names in an array.

    All input names in an array.

    Definition Classes
    Model
  41. lazy val inputSchema: StructType

    Permalink

    The schema of inputs.

    The schema of inputs.

    Definition Classes
    Model
  42. def isAssociationRules: Boolean

    Permalink

    Tests if this is a association rules model.

    Tests if this is a association rules model.

    Definition Classes
    HasModelAttributes
  43. def isBinary: Boolean

    Permalink

    Tests if the target is a binary field

    Tests if the target is a binary field

    Definition Classes
    Model
  44. def isClassification(name: String): Boolean

    Permalink

    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.

    Definition Classes
    Model
  45. def isClassification: Boolean

    Permalink

    Tests if this is a classification model.

    Tests if this is a classification model.

    Definition Classes
    ModelHasModelAttributes
  46. def isClustering: Boolean

    Permalink

    Tests if this is a clustering model.

    Tests if this is a clustering model.

    Definition Classes
    HasModelAttributes
  47. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  48. def isMixed: Boolean

    Permalink

    Tests if this is a mixed model.

    Tests if this is a mixed model.

    Definition Classes
    HasModelAttributes
  49. def isOrdinal: Boolean

    Permalink

    Tests if the target is an ordinal field

    Tests if the target is an ordinal field

    Definition Classes
    Model
  50. def isPredictionOnly: Boolean

    Permalink
    Definition Classes
    HasOutput
  51. def isRegression(name: String): Boolean

    Permalink

    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.

    Definition Classes
    Model
  52. def isRegression: Boolean

    Permalink

    Tests if this is a regression model.

    Tests if this is a regression model.

    Definition Classes
    ModelHasModelAttributes
  53. def isScorable: Boolean

    Permalink

    Indicates if the model is valid for scoring.

    Indicates if the model is valid for scoring. If this attribute is true or if it is missing, then the model should be processed normally. However, if the attribute is false, then the model producer has indicated that this model is intended for information purposes only and should not be used to generate results.

    Definition Classes
    HasWrappedModelAttributesHasModelAttributes
  54. def isSegmentation: Boolean

    Permalink
  55. def isSequences: Boolean

    Permalink

    Tests if this is a sequences model.

    Tests if this is a sequences model.

    Definition Classes
    HasModelAttributes
  56. def isSubModel: Boolean

    Permalink
    Definition Classes
    ModelLocation
  57. def isTimeSeries: Boolean

    Permalink

    Tests if this is a time series model.

    Tests if this is a time series model.

    Definition Classes
    HasModelAttributes
  58. def isTopLevelModel: Boolean

    Permalink
    Definition Classes
    ModelLocation
  59. val isWeighted: Boolean

    Permalink
  60. val localTransformations: Option[LocalTransformations]

    Permalink

    The optional local transformations.

    The optional local transformations.

    Definition Classes
    MiningModelHasLocalTransformations
  61. val miningSchema: MiningSchema

    Permalink
    Definition Classes
    MiningModelHasMiningSchema
  62. def modelElement: ModelElement

    Permalink

    Model element type.

    Model element type.

    Definition Classes
    MiningModelModel
  63. val modelExplanation: Option[ModelExplanation]

    Permalink
    Definition Classes
    MiningModelHasModelExplanation
  64. def modelName: Option[String]

    Permalink

    Identifies the model with a unique name in the context of the PMML file.

    Identifies the model with a unique name in the context of the PMML file. This attribute is not required. Consumers of PMML models are free to manage the names of the models at their discretion.

    Definition Classes
    HasWrappedModelAttributesHasModelAttributes
  65. val modelStats: Option[ModelStats]

    Permalink
    Definition Classes
    MiningModelHasModelStats
  66. val modelVerification: Option[ModelVerification]

    Permalink
    Definition Classes
    MiningModelHasModelVerification
  67. def multiTargets: Boolean

    Permalink
    Definition Classes
    HasTargetFields
  68. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  69. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  70. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  71. lazy val nullSeries: Series

    Permalink

    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.

    Definition Classes
    Model
  72. def numClasses(name: String): Int

    Permalink

    Returns the number of class labels of the specified target.

    Returns the number of class labels of the specified target.

    Definition Classes
    Model
  73. lazy val numClasses: Int

    Permalink

    The number of class labels in a classification model.

    The number of class labels in a classification model.

    Definition Classes
    Model
  74. def opType(name: String): OpType

    Permalink

    Returns optype of the specified target.

    Returns optype of the specified target.

    Definition Classes
    Model
  75. lazy val opType: OpType

    Permalink

    When Target specifies optype then it overrides the optype attribute in a corresponding MiningField, if it exists.

    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.

    Definition Classes
    Model
  76. val output: Option[Output]

    Permalink
    Definition Classes
    MiningModelHasOutput
  77. def outputFields: Array[OutputField]

    Permalink
    Definition Classes
    HasOutput
  78. def outputIndex(feature: ResultFeature, value: Option[Any] = None): Int

    Permalink
    Definition Classes
    HasOutput
  79. def outputNames: Array[String]

    Permalink
    Definition Classes
    HasOutput
  80. def outputSchema: StructType

    Permalink

    The schema of final outputs.

    The schema of final outputs.

    Definition Classes
    Model
  81. var parent: Model

    Permalink

    The parent model.

    The parent model.

    Definition Classes
    MiningModelHasParent
  82. def postClassification(name: String = null): (Any, Map[Any, Double])

    Permalink
    Attributes
    protected
    Definition Classes
    Model
  83. def postPredictedValue(outputs: MutablePredictedValue, name: String = null): MutablePredictedValue

    Permalink
    Attributes
    protected
    Definition Classes
    Model
  84. def postRegression(predictedValue: Any, name: String = null): Any

    Permalink
    Attributes
    protected
    Definition Classes
    Model
  85. def predict(values: Series): Series

    Permalink

    Predicts values for a given data series.

    Predicts values for a given data series.

    Definition Classes
    MiningModelModelPredictable
  86. def predict(it: Iterator[Series]): Iterator[Series]

    Permalink
    Definition Classes
    Model
  87. def predict(json: String): String

    Permalink

    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]}

    json

    Records in json

    returns

    Results in json

    Definition Classes
    Model
  88. def predict(values: List[Any]): List[Any]

    Permalink
    Definition Classes
    Model
  89. def predict[T](values: Array[T]): Array[Any]

    Permalink

    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

    Definition Classes
    Model
  90. def predict(values: (String, Any)*): Seq[(String, Any)]

    Permalink

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

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

    Definition Classes
    Model
  91. def predict(values: Map[String, Any]): Map[String, Any]

    Permalink

    Predicts values for a given data map of Java.

    Predicts values for a given data map of Java.

    Definition Classes
    Model
  92. def predict(values: Map[String, Any]): Map[String, Any]

    Permalink

    Predicts values for a given data map.

    Predicts values for a given data map.

    Definition Classes
    Model
  93. lazy val predictedValueIndex: Int

    Permalink
    Definition Classes
    HasOutput
  94. def prepare(series: Series): (Series, Boolean)

    Permalink

    Pre-process the input series.

    Pre-process the input series.

    Attributes
    protected
    Definition Classes
    Model
  95. def probabilitiesSupported: Boolean

    Permalink

    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.

    Definition Classes
    Model
  96. def result(series: Series, modelOutputs: ModelOutputs, fields: Array[OutputField] = Array.empty): Series

    Permalink
    Attributes
    protected
    Definition Classes
    Model
  97. val segmentation: Option[Segmentation]

    Permalink
  98. def setOutputFields(outputFields: Array[OutputField]): MiningModel.this.type

    Permalink
    Definition Classes
    HasOutput
  99. def setParent(parent: Model): MiningModel.this.type

    Permalink
    Definition Classes
    HasParent
  100. def setSupplementOutput(value: Boolean): MiningModel.this.type

    Permalink
    Definition Classes
    HasOutput
  101. def singleTarget: Boolean

    Permalink
    Definition Classes
    HasTargetFields
  102. def size: Int

    Permalink
    Definition Classes
    HasTargetFields
  103. var supplementOutput: Boolean

    Permalink

    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.

    Definition Classes
    HasOutput
  104. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  105. lazy val targetClasses: Map[String, Array[Any]]

    Permalink

    The class labels of all categorical targets.

    The class labels of all categorical targets.

    Definition Classes
    Model
  106. lazy val targetField: Field

    Permalink

    The first target field for the supervised model.

    The first target field for the supervised model.

    Definition Classes
    Model
  107. lazy val targetFields: Array[Field]

    Permalink

    All target fields in an array.

    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.

    Definition Classes
    Model
  108. def targetFieldsOfResidual: Array[Field]

    Permalink

    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.

    Definition Classes
    HasOutput
  109. def targetName: String

    Permalink

    Name of the first target for the supervised model.

    Name of the first target for the supervised model.

    Definition Classes
    HasTargetFields
  110. lazy val targetNames: Array[String]

    Permalink

    All target names in an array.

    All target names in an array.

    Definition Classes
    ModelHasTargetFields
  111. def targetNamesOfResidual: Array[String]

    Permalink
    Definition Classes
    HasOutput
  112. val targets: Option[Targets]

    Permalink
    Definition Classes
    MiningModelHasTargets
  113. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  114. def transformationDictionary: Option[TransformationDictionary]

    Permalink

    The optional transformation dictionary.

    The optional transformation dictionary.

    Definition Classes
    Model
  115. def unionCandidateOutputFields: Array[OutputField]

    Permalink
    Definition Classes
    HasOutput
  116. def unionOutputFields: Array[OutputField]

    Permalink
    Definition Classes
    HasOutput
  117. lazy val usedFields: Array[Field]

    Permalink

    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.

    Definition Classes
    Model
  118. lazy val usedSchema: StructType

    Permalink

    The schema of used fields.

    The schema of used fields.

    Definition Classes
    Model
  119. def version: String

    Permalink

    PMML version.

    PMML version.

    Definition Classes
    HasVersion
  120. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Model

Inherited from PmmlElement

Inherited from Serializable

Inherited from Serializable

Inherited from HasExtensions

Inherited from HasModelVerification

Inherited from Predictable

Inherited from HasTargetFields

Inherited from ModelLocation

Inherited from FieldScope

Inherited from HasField

Inherited from HasLocalTransformations

Inherited from HasTargets

Inherited from HasModelExplanation

Inherited from HasModelStats

Inherited from HasOutput

Inherited from HasMiningSchema

Inherited from HasWrappedModelAttributes

Inherited from HasModelAttributes

Inherited from HasVersion

Inherited from HasParent

Inherited from AnyRef

Inherited from Any

Ungrouped