Packages

c

org.pmml4s.model

NearestNeighborModel

class NearestNeighborModel extends Model with HasWrappedNearestNeighborAttributes

k-Nearest Neighbors (k-NN) is an instance-based learning algorithm. In a k-NN model, a hypothesis or generalization is built from the training data directly at the time a query is made to the system. The prediction is based on the K training instances closest to the case being scored. Therefore, all training cases have to be stored, which may be problematic when the amount of data is large. This model has the ability to store the data directly in PMML using InlineTable or elsewhere using the TableLocator element defined in the Taxonomy document.

A k-NN model can have one or more target variables or no targets. When one or more targets are present, the predicted value is computed based on the target values of the nearest neighbors. When no targets are present, the model specifies a case ID variable for the training data. In this way, one can easily obtain the IDs of the K closest training cases (nearest neighbors).

A k-NN model consists of four major parts:

- Model attributes - Training instances - Comparison measure - Input fields

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

Instance Constructors

  1. new NearestNeighborModel(parent: Model, attributes: NearestNeighborAttributes, miningSchema: MiningSchema, trainingInstances: TrainingInstances, comparisonMeasure: ComparisonMeasure, knnInputs: KNNInputs, 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)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val NullOutputsPair: (Series, ModelOutputs)
    Attributes
    protected
    Definition Classes
    Model
  5. def algorithmName: Option[String]

    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
  6. def anyMissing(series: Series): Boolean

    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
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. val attributes: NearestNeighborAttributes

    Common attributes of this model

    Common attributes of this model

    Definition Classes
    NearestNeighborModelHasWrappedNearestNeighborAttributesHasWrappedModelAttributes
  9. def candidateOutputFields: Array[OutputField]
    Definition Classes
    HasOutput
  10. def candidateOutputSchema: StructType

    The schema of candidate outputs.

    The schema of candidate outputs.

    Definition Classes
    Model
  11. def categoricalScoringMethod: CatScoringMethod

    Specify the scoring (or combining) method based on the categorical target values of K neighbors.

    Specify the scoring (or combining) method based on the categorical target values of K neighbors.

    Definition Classes
    HasWrappedNearestNeighborAttributesHasNearestNeighborAttributes
  12. def classes(name: String): Array[DataVal]

    Returns class labels of the specified target.

    Returns class labels of the specified target.

    Definition Classes
    Model
  13. lazy val classes: Array[DataVal]

    The class labels in a classification model.

    The class labels in a classification model.

    Definition Classes
    Model
  14. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  15. def combineOutputFields(listA: Array[OutputField], listB: Array[OutputField]): Array[OutputField]
    Definition Classes
    HasOutput
  16. val comparisonMeasure: ComparisonMeasure
  17. def containInterResults: Boolean
    Definition Classes
    HasOutput
  18. def continuousScoringMethod: ContScoringMethod

    Specify the scoring (or combining) method based on the continuous target values of K neighbors.

    Specify the scoring (or combining) method based on the continuous target values of K neighbors.

    Definition Classes
    HasWrappedNearestNeighborAttributesHasNearestNeighborAttributes
  19. def createOutputs(): NearestNeighborModelOutputs

    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.

    Definition Classes
    NearestNeighborModelModel
  20. def createOutputsByTarget(topK: Array[(Double, Int)], target: Field): ModelOutputs
  21. val customOutputFields: Array[OutputField]

    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
  22. def dVersion: Double

    Returns PMML version as a double value

    Returns PMML version as a double value

    Definition Classes
    HasVersion
  23. def dataDictionary: DataDictionary

    The data dictionary of this model.

    The data dictionary of this model.

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

    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
    Model
  25. def encode(series: Series): DSeries

    Encodes the input series.

    Encodes the input series.

    Attributes
    protected
    Definition Classes
    Model
  26. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  28. val extensions: Seq[Extension]
    Definition Classes
    NearestNeighborModelHasExtensions
  29. def field(name: String): Field

    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

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

    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
  31. def functionName: MiningFunction

    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
  32. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  33. 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
    ModelHasField
  34. def hasExtensions: Boolean
    Definition Classes
    HasExtensions
  35. def hasTarget: Boolean
    Definition Classes
    HasTargetFields
  36. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  37. def header: Header

    The header of this model.

    The header of this model.

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

    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
  39. def importances: Map[String, Double]

    Returns importances of predictors.

    Returns importances of predictors.

    Definition Classes
    Model
  40. def inferClasses: Array[DataVal]

    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
  41. lazy val inputDerivedFields: Array[Field]

    Referenced derived fields.

    Referenced derived fields.

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

    All input fields in an array.

    All input fields in an array.

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

    All input names in an array.

    All input names in an array.

    Definition Classes
    Model
  44. lazy val inputSchema: StructType

    The schema of inputs.

    The schema of inputs.

    Definition Classes
    Model
  45. def instanceIdVariable: Option[String]

    Contains the instance ID variable name and so refers to the name of a field in InstanceFields.

    Contains the instance ID variable name and so refers to the name of a field in InstanceFields. Required if the model has no targets, optional otherwise.

    Definition Classes
    HasWrappedNearestNeighborAttributesHasNearestNeighborAttributes
  46. def isAssociationRules: Boolean

    Tests if this is a association rules model.

    Tests if this is a association rules model.

    Definition Classes
    HasModelAttributes
  47. def isBinary: Boolean

    Tests if the target is a binary field

    Tests if the target is a binary field

    Definition Classes
    Model
  48. 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.

    Definition Classes
    Model
  49. def isClassification: Boolean

    Tests if this is a classification model.

    Tests if this is a classification model.

    Definition Classes
    ModelHasModelAttributes
  50. def isClustering: Boolean

    Tests if this is a clustering model.

    Tests if this is a clustering model.

    Definition Classes
    HasModelAttributes
  51. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  52. def isMixed: Boolean

    Tests if this is a mixed model.

    Tests if this is a mixed model.

    Definition Classes
    HasModelAttributes
  53. def isOrdinal: Boolean

    Tests if the target is an ordinal field

    Tests if the target is an ordinal field

    Definition Classes
    Model
  54. def isPredictionOnly: Boolean
    Definition Classes
    HasOutput
  55. 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.

    Definition Classes
    Model
  56. def isRegression: Boolean

    Tests if this is a regression model.

    Tests if this is a regression model.

    Definition Classes
    ModelHasModelAttributes
  57. def isScorable: Boolean

    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
  58. def isSequences: Boolean

    Tests if this is a sequences model.

    Tests if this is a sequences model.

    Definition Classes
    HasModelAttributes
  59. val isSubModel: Boolean
    Definition Classes
    ModelLocation
  60. def isTimeSeries: Boolean

    Tests if this is a time series model.

    Tests if this is a time series model.

    Definition Classes
    HasModelAttributes
  61. val isTopLevelModel: Boolean
    Definition Classes
    ModelLocation
  62. val knnInputs: KNNInputs
  63. val localTransformations: Option[LocalTransformations]

    The optional local transformations.

    The optional local transformations.

    Definition Classes
    NearestNeighborModelHasLocalTransformations
  64. val miningSchema: MiningSchema
  65. def modelElement: ModelElement

    Model element type.

    Model element type.

    Definition Classes
    NearestNeighborModelModel
  66. val modelExplanation: Option[ModelExplanation]
  67. def modelName: Option[String]

    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
  68. val modelStats: Option[ModelStats]
    Definition Classes
    NearestNeighborModelHasModelStats
  69. val modelVerification: Option[ModelVerification]
  70. def multiTargets: Boolean
    Definition Classes
    HasTargetFields
  71. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  72. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  73. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  74. 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.

    Definition Classes
    Model
  75. 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.

    Definition Classes
    Model
  76. lazy val numClasses: Int

    The number of class labels in a classification model.

    The number of class labels in a classification model.

    Definition Classes
    Model
  77. def numberOfNeighbors: Int

    Specifies K, the number of desired neighbors.

    Specifies K, the number of desired neighbors.

    Definition Classes
    HasWrappedNearestNeighborAttributesHasNearestNeighborAttributes
  78. def opType(name: String): OpType

    Returns optype of the specified target.

    Returns optype of the specified target.

    Definition Classes
    Model
  79. lazy val opType: OpType

    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
  80. val output: Option[Output]
    Definition Classes
    NearestNeighborModelHasOutput
  81. def outputFields: Array[OutputField]
    Definition Classes
    HasOutput
  82. def outputIndex(feature: ResultFeature, value: Option[Any] = None): Int
    Definition Classes
    HasOutput
  83. def outputNames: Array[String]
    Definition Classes
    HasOutput
  84. def outputSchema: StructType

    The schema of final outputs.

    The schema of final outputs.

    Definition Classes
    Model
  85. var parent: Model

    The parent model.

    The parent model.

    Definition Classes
    NearestNeighborModelHasParent
  86. def postClassification(name: String = null): (DataVal, Map[DataVal, Double])
    Attributes
    protected
    Definition Classes
    Model
  87. def postPredictedValue(outputs: MutablePredictedValue, name: String = null): MutablePredictedValue
    Attributes
    protected
    Definition Classes
    Model
  88. def postRegression(predictedValue: DataVal, name: String = null): DataVal
    Attributes
    protected
    Definition Classes
    Model
  89. def predict(values: Series): Series

    Predicts values for a given data series.

    Predicts values for a given data series.

    values

    An input data series

    returns

    An output data series

    Definition Classes
    NearestNeighborModelModelPredictable
  90. def predict(it: Iterator[Series]): Iterator[Series]
    Definition Classes
    Model
  91. 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]}

    json

    Records in json

    returns

    Results in json

    Definition Classes
    Model
  92. def predict(values: List[Any]): List[Any]
    Definition Classes
    Model
  93. 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

    Definition Classes
    Model
  94. 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.

    Definition Classes
    Model
  95. 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.

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

    Predicts values for a given data map.

    Predicts values for a given data map.

    Definition Classes
    Model
  97. lazy val predictedValueIndex: Int
    Definition Classes
    HasOutput
  98. def prepare(series: Series): (Series, Boolean)

    Pre-process the input series.

    Pre-process the input series.

    Attributes
    protected
    Definition Classes
    Model
  99. def probabilitiesSupported: Boolean

    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
  100. def result(series: Series, modelOutputs: ModelOutputs, fields: Array[OutputField] = Array.empty): Series
    Attributes
    protected
    Definition Classes
    Model
  101. def score(values: Series, modelOutputs: Option[ModelOutputs] = None): (Series, ModelOutputs)

    Predicts value for a given data series

    Predicts value for a given data series

    values

    An input data series

    modelOutputs

    An input model outputs that can hold all results, it will be ignored if its type doesn't match the current model.

    returns

    An object of model outputs

    Definition Classes
    Model
  102. def setOutputFields(outputFields: Array[OutputField]): NearestNeighborModel.this.type
    Definition Classes
    HasOutput
  103. def setParent(parent: Model): NearestNeighborModel.this.type
    Definition Classes
    HasParent
  104. def setSupplementOutput(value: Boolean): NearestNeighborModel.this.type
    Definition Classes
    HasOutput
  105. def singleTarget: Boolean
    Definition Classes
    HasTargetFields
  106. def size: Int
    Definition Classes
    HasTargetFields
  107. val 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.

    Definition Classes
    HasOutput
  108. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  109. lazy val targetClasses: Map[String, Array[DataVal]]

    The class labels of all categorical targets.

    The class labels of all categorical targets.

    Definition Classes
    Model
  110. lazy val targetField: Field

    The first target field for the supervised model.

    The first target field for the supervised model.

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

    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
  112. def targetFieldsOfResidual: Array[Field]

    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
  113. def targetName: String

    Name of the first target for the supervised model.

    Name of the first target for the supervised model.

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

    All target names in an array.

    All target names in an array.

    Definition Classes
    ModelHasTargetFields
  115. def targetNamesOfResidual: Array[String]
    Definition Classes
    HasOutput
  116. val targets: Option[Targets]
    Definition Classes
    NearestNeighborModelHasTargets
  117. def threshold: Double

    Defines a very small positive number to be used for "weighted" scoring methods to avoid numerical problems when distance or similarity measure is zero.

    Defines a very small positive number to be used for "weighted" scoring methods to avoid numerical problems when distance or similarity measure is zero.

    Definition Classes
    HasWrappedNearestNeighborAttributesHasNearestNeighborAttributes
  118. def toString(): String
    Definition Classes
    AnyRef → Any
  119. val trainingInstances: TrainingInstances
  120. def transformationDictionary: Option[TransformationDictionary]

    The optional transformation dictionary.

    The optional transformation dictionary.

    Definition Classes
    Model
  121. def unionCandidateOutputFields: Array[OutputField]
    Definition Classes
    HasOutput
  122. def unionOutputFields: Array[OutputField]
    Definition Classes
    HasOutput
  123. 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.

    Definition Classes
    Model
  124. lazy val usedSchema: StructType

    The schema of used fields.

    The schema of used fields.

    Definition Classes
    Model
  125. def version: String

    PMML version.

    PMML version.

    Definition Classes
    HasVersion
  126. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  127. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  128. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Model

Inherited from PmmlElement

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 HasTargets

Inherited from HasModelExplanation

Inherited from HasModelStats

Inherited from HasOutput

Inherited from HasMiningSchema

Inherited from HasModelAttributes

Inherited from HasVersion

Inherited from HasParent

Inherited from AnyRef

Inherited from Any

Ungrouped