Packages

class DistributionBalanceMeasure extends Transformer with DataBalanceParams with ComplexParamsWritable with Wrappable with BasicLogging

This transformer computes data balance measures based on a reference distribution. For now, we only support a uniform reference distribution.

The output is a dataframe that contains two columns:

  • The sensitive feature name.
  • A struct containing measure names and their values showing differences between the observed and reference distributions. The following measures are computed:
    • Kullback-Leibler Divergence - https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence
    • Jensen-Shannon Distance - https://en.wikipedia.org/wiki/Jensen%E2%80%93Shannon_divergence
    • Wasserstein Distance - https://en.wikipedia.org/wiki/Wasserstein_metric
    • Infinity Norm Distance - https://en.wikipedia.org/wiki/Chebyshev_distance
    • Total Variation Distance - https://en.wikipedia.org/wiki/Total_variation_distance_of_probability_measures
    • Chi-Squared Test - https://en.wikipedia.org/wiki/Chi-squared_test

The output dataframe contains a row per sensitive feature.

Annotations
@Experimental()
Linear Supertypes
BasicLogging, Wrappable, DotnetWrappable, RWrappable, PythonWrappable, BaseWrappable, ComplexParamsWritable, MLWritable, DataBalanceParams, HasOutputCol, Transformer, PipelineStage, Logging, Params, Serializable, Serializable, Identifiable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DistributionBalanceMeasure
  2. BasicLogging
  3. Wrappable
  4. DotnetWrappable
  5. RWrappable
  6. PythonWrappable
  7. BaseWrappable
  8. ComplexParamsWritable
  9. MLWritable
  10. DataBalanceParams
  11. HasOutputCol
  12. Transformer
  13. PipelineStage
  14. Logging
  15. Params
  16. Serializable
  17. Serializable
  18. Identifiable
  19. AnyRef
  20. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DistributionBalanceMeasure()
  2. new DistributionBalanceMeasure(uid: String)

    uid

    The unique ID.

Value Members

  1. final def clear(param: Param[_]): DistributionBalanceMeasure.this.type
    Definition Classes
    Params
  2. def copy(extra: ParamMap): Transformer
    Definition Classes
    DistributionBalanceMeasure → Transformer → PipelineStage → Params
  3. def dotnetAdditionalMethods: String
    Definition Classes
    DotnetWrappable
  4. def explainParam(param: Param[_]): String
    Definition Classes
    Params
  5. def explainParams(): String
    Definition Classes
    Params
  6. final def extractParamMap(): ParamMap
    Definition Classes
    Params
  7. final def extractParamMap(extra: ParamMap): ParamMap
    Definition Classes
    Params
  8. val featureNameCol: Param[String]
  9. final def get[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  10. final def getDefault[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  11. def getFeatureNameCol: String
  12. final def getOrDefault[T](param: Param[T]): T
    Definition Classes
    Params
  13. final def getOutputCol: String
    Definition Classes
    HasOutputCol
  14. def getParam(paramName: String): Param[Any]
    Definition Classes
    Params
  15. def getParamInfo(p: Param[_]): ParamInfo[_]
    Definition Classes
    BaseWrappable
  16. def getSensitiveCols: Array[String]
    Definition Classes
    DataBalanceParams
  17. def getVerbose: Boolean
    Definition Classes
    DataBalanceParams
  18. final def hasDefault[T](param: Param[T]): Boolean
    Definition Classes
    Params
  19. def hasParam(paramName: String): Boolean
    Definition Classes
    Params
  20. final def isDefined(param: Param[_]): Boolean
    Definition Classes
    Params
  21. final def isSet(param: Param[_]): Boolean
    Definition Classes
    Params
  22. def logClass(): Unit
    Definition Classes
    BasicLogging
  23. def logFit[T](f: ⇒ T): T
    Definition Classes
    BasicLogging
  24. def logPredict[T](f: ⇒ T): T
    Definition Classes
    BasicLogging
  25. def logTrain[T](f: ⇒ T): T
    Definition Classes
    BasicLogging
  26. def logTransform[T](f: ⇒ T): T
    Definition Classes
    BasicLogging
  27. def logVerb[T](verb: String, f: ⇒ T): T
    Definition Classes
    BasicLogging
  28. def makeDotnetFile(conf: CodegenConfig): Unit
    Definition Classes
    DotnetWrappable
  29. def makePyFile(conf: CodegenConfig): Unit
    Definition Classes
    PythonWrappable
  30. def makeRFile(conf: CodegenConfig): Unit
    Definition Classes
    RWrappable
  31. final val outputCol: Param[String]
    Definition Classes
    HasOutputCol
  32. lazy val params: Array[Param[_]]
    Definition Classes
    Params
  33. def pyAdditionalMethods: String
    Definition Classes
    PythonWrappable
  34. def pyInitFunc(): String
    Definition Classes
    PythonWrappable
  35. def save(path: String): Unit
    Definition Classes
    MLWritable
    Annotations
    @Since( "1.6.0" ) @throws( ... )
  36. val sensitiveCols: StringArrayParam
    Definition Classes
    DataBalanceParams
  37. final def set[T](param: Param[T], value: T): DistributionBalanceMeasure.this.type
    Definition Classes
    Params
  38. def setFeatureNameCol(value: String): DistributionBalanceMeasure.this.type
  39. def setOutputCol(value: String): DistributionBalanceMeasure.this.type
    Definition Classes
    DataBalanceParams
  40. def setSensitiveCols(values: Array[String]): DistributionBalanceMeasure.this.type
    Definition Classes
    DataBalanceParams
  41. def setVerbose(value: Boolean): DistributionBalanceMeasure.this.type
    Definition Classes
    DataBalanceParams
  42. def toString(): String
    Definition Classes
    Identifiable → AnyRef → Any
  43. def transform(dataset: Dataset[_]): DataFrame
    Definition Classes
    DistributionBalanceMeasure → Transformer
  44. def transform(dataset: Dataset[_], paramMap: ParamMap): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" )
  45. def transform(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" ) @varargs()
  46. def transformSchema(schema: StructType): StructType
    Definition Classes
    DistributionBalanceMeasure → PipelineStage
  47. val uid: String
    Definition Classes
    DistributionBalanceMeasureBasicLogging → Identifiable
  48. def validateSchema(schema: StructType): Unit
    Definition Classes
    DataBalanceParams
  49. val ver: String
    Definition Classes
    BasicLogging
  50. val verbose: BooleanParam
    Definition Classes
    DataBalanceParams
  51. def write: MLWriter
    Definition Classes
    ComplexParamsWritable → MLWritable