Packages

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

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
SynapseMLLogging, Wrappable, 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. SynapseMLLogging
  3. Wrappable
  4. RWrappable
  5. PythonWrappable
  6. BaseWrappable
  7. ComplexParamsWritable
  8. MLWritable
  9. DataBalanceParams
  10. HasOutputCol
  11. Transformer
  12. PipelineStage
  13. Logging
  14. Params
  15. Serializable
  16. Serializable
  17. Identifiable
  18. AnyRef
  19. 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. val emptyReferenceDistribution: Array[Map[String, Double]]
  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 getReferenceDistribution: Array[Map[String, Double]]
  17. def getSensitiveCols: Array[String]
    Definition Classes
    DataBalanceParams
  18. def getVerbose: Boolean
    Definition Classes
    DataBalanceParams
  19. final def hasDefault[T](param: Param[T]): Boolean
    Definition Classes
    Params
  20. def hasParam(paramName: String): Boolean
    Definition Classes
    Params
  21. final def isDefined(param: Param[_]): Boolean
    Definition Classes
    Params
  22. final def isSet(param: Param[_]): Boolean
    Definition Classes
    Params
  23. def logClass(featureName: String): Unit
    Definition Classes
    SynapseMLLogging
  24. def logFit[T](f: ⇒ T, columns: Int): T
    Definition Classes
    SynapseMLLogging
  25. def logTransform[T](f: ⇒ T, columns: Int): T
    Definition Classes
    SynapseMLLogging
  26. def logVerb[T](verb: String, f: ⇒ T, columns: Option[Int] = None): T
    Definition Classes
    SynapseMLLogging
  27. def makePyFile(conf: CodegenConfig): Unit
    Definition Classes
    PythonWrappable
  28. def makeRFile(conf: CodegenConfig): Unit
    Definition Classes
    RWrappable
  29. final val outputCol: Param[String]
    Definition Classes
    HasOutputCol
  30. lazy val params: Array[Param[_]]
    Definition Classes
    Params
  31. def pyAdditionalMethods: String
    Definition Classes
    PythonWrappable
  32. def pyInitFunc(): String
    Definition Classes
    PythonWrappable
  33. val referenceDistribution: ArrayMapParam
  34. def save(path: String): Unit
    Definition Classes
    MLWritable
    Annotations
    @Since( "1.6.0" ) @throws( ... )
  35. val sensitiveCols: StringArrayParam
    Definition Classes
    DataBalanceParams
  36. final def set[T](param: Param[T], value: T): DistributionBalanceMeasure.this.type
    Definition Classes
    Params
  37. def setFeatureNameCol(value: String): DistributionBalanceMeasure.this.type
  38. def setOutputCol(value: String): DistributionBalanceMeasure.this.type
    Definition Classes
    DataBalanceParams
  39. def setReferenceDistribution(value: ArrayList[HashMap[String, Double]]): DistributionBalanceMeasure.this.type
  40. def setReferenceDistribution(value: Array[Map[String, Double]]): DistributionBalanceMeasure.this.type
  41. def setSensitiveCols(values: Array[String]): DistributionBalanceMeasure.this.type
    Definition Classes
    DataBalanceParams
  42. def setVerbose(value: Boolean): DistributionBalanceMeasure.this.type
    Definition Classes
    DataBalanceParams
  43. def toString(): String
    Definition Classes
    Identifiable → AnyRef → Any
  44. def transform(dataset: Dataset[_]): DataFrame
    Definition Classes
    DistributionBalanceMeasure → Transformer
  45. def transform(dataset: Dataset[_], paramMap: ParamMap): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" )
  46. def transform(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" ) @varargs()
  47. def transformSchema(schema: StructType): StructType
    Definition Classes
    DistributionBalanceMeasure → PipelineStage
  48. val uid: String
    Definition Classes
    DistributionBalanceMeasureSynapseMLLogging → Identifiable
  49. def validateSchema(schema: StructType): Unit
  50. val verbose: BooleanParam
    Definition Classes
    DataBalanceParams
  51. def write: MLWriter
    Definition Classes
    ComplexParamsWritable → MLWritable