object MDL extends SettingsBuilder with Serializable
Transform a column of continuous labelled features to n columns of binned categorical features. The optimum number of bins is computed using Minimum Description Length (MDL), which is an entropy measurement between the values and the targets.
The transformer expects an MDLRecord where the first field is a label and the second value is the scalar that will be transformed into buckets.
MDL is an iterative algorithm so all of the data needed to compute the buckets will be pulled
into memory. If you run into memory issues the sampleRate
parameter should be lowered.
References:
- Fayyad, U., & Irani, K. (1993). "Multi-interval discretization of continuous-valued attributes for classification learning."
- https://github.com/sramirez/spark-MDLP-discretization
- Source
- MDL.scala
- Alphabetic
- By Inheritance
- MDL
- Serializable
- Serializable
- SettingsBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
apply[T](name: String, sampleRate: Double = 1.0, stoppingCriterion: Double = DefaultStoppingCriterion, minBinPercentage: Double = DefaultMinBinPercentage, maxBins: Int = DefaultMaxBins, seed: Int = Random.nextInt())(implicit arg0: ClassTag[T]): Transformer[MDLRecord[T], B[T], C]
Create an MDL Instance.
Create an MDL Instance.
- sampleRate
percentage of records to keep to compute the buckets
- stoppingCriterion
stopping criterion for MDL
- minBinPercentage
minimum percent of total data allowed in a single bin
- maxBins
maximum number of thresholds per feature
- seed
seed for the sampler
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fromSettings(setting: Settings): Transformer[MDLRecord[String], B[String], C]
Create a new MDL from a settings object
Create a new MDL from a settings object
- setting
Settings object
- Definition Classes
- MDL → SettingsBuilder
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()