org.apache.spark.ml.odkl

ExponentialVectorDiscountTransformer

class ExponentialVectorDiscountTransformer extends Transformer with DefaultParamsWritable with HasGroupByColumns

Created by eugeny.malyutin on 18.02.18.

Transformer to implement exponential weighted discounting for vectors; Expects dataFrame with structure ( $"groupByColumns", $"timestamp", $"vector")

Return dataFrame ( $"groupByColumns", $"timestamp", $"vector)

$"timestamp" - last seen action timestamp for this $"identificator" $"vector" - summed actions. vector(0) is reserved for "aggregation" timestamp

Linear Supertypes
HasGroupByColumns, DefaultParamsWritable, MLWritable, Transformer, PipelineStage, Logging, Params, Serializable, Serializable, Identifiable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ExponentialVectorDiscountTransformer
  2. HasGroupByColumns
  3. DefaultParamsWritable
  4. MLWritable
  5. Transformer
  6. PipelineStage
  7. Logging
  8. Params
  9. Serializable
  10. Serializable
  11. Identifiable
  12. AnyRef
  13. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExponentialVectorDiscountTransformer()

  2. new ExponentialVectorDiscountTransformer(uid: String)

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def $[T](param: Param[T]): T

    Attributes
    protected
    Definition Classes
    Params
  5. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  6. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. final def clear(param: Param[_]): ExponentialVectorDiscountTransformer.this.type

    Definition Classes
    Params
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def copy(extra: ParamMap): Transformer

    Definition Classes
    ExponentialVectorDiscountTransformer → Transformer → PipelineStage → Params
  11. def copyValues[T <: Params](to: T, extra: ParamMap): T

    Attributes
    protected
    Definition Classes
    Params
  12. final def defaultCopy[T <: Params](extra: ParamMap): T

    Attributes
    protected
    Definition Classes
    Params
  13. def discount(vector1: Vector, vector2: Vector, base: Double, scale: Double, timeNow: Long): Vector

    Discount vectors.

    Discount vectors. Expects vector(0) as timestamp

    vector1

    earlier vector

    vector2

    later vector

    base

    - base for exponent

    scale

    - parameter to scale time difference

    timeNow

    - time to weight vetors to

    returns

    result vector

  14. def discountVectors(vectorOld: Vector, vectorNew: Vector, base: Double, scale: Double, timeNow: Long): Vector

    Function to shrink vectors and discount it with Vector Utils, contract: vector(0) - timestamp vector2(0) should goes after vector1 if vectors size differs - pad or shrink vector1 to vector2 size

    Function to shrink vectors and discount it with Vector Utils, contract: vector(0) - timestamp vector2(0) should goes after vector1 if vectors size differs - pad or shrink vector1 to vector2 size

    vectorOld

    earlier vector

    vectorNew

    later vector

    base

    - base for exponent

    scale

    - parameter to scale time difference

    timeNow

    - time to weight vectors to

    returns

    result vector

  15. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  17. def explainParam(param: Param[_]): String

    Definition Classes
    Params
  18. def explainParams(): String

    Definition Classes
    Params
  19. val exponentBase: DoubleParam

  20. val exponentScale: LongParam

  21. final def extractParamMap(): ParamMap

    Definition Classes
    Params
  22. final def extractParamMap(extra: ParamMap): ParamMap

    Definition Classes
    Params
  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def get[T](param: Param[T]): Option[T]

    Definition Classes
    Params
  25. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  26. final def getDefault[T](param: Param[T]): Option[T]

    Definition Classes
    Params
  27. final def getOrDefault[T](param: Param[T]): T

    Definition Classes
    Params
  28. def getParam(paramName: String): Param[Any]

    Definition Classes
    Params
  29. final val groupByColumns: StringArrayParam

    Definition Classes
    HasGroupByColumns
  30. final def hasDefault[T](param: Param[T]): Boolean

    Definition Classes
    Params
  31. def hasParam(paramName: String): Boolean

    Definition Classes
    Params
  32. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  33. final def isDefined(param: Param[_]): Boolean

    Definition Classes
    Params
  34. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  35. final def isSet(param: Param[_]): Boolean

    Definition Classes
    Params
  36. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  37. def log: Logger

    Attributes
    protected
    Definition Classes
    Logging
  38. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  39. def logDebug(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  40. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  41. def logError(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  42. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  43. def logInfo(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  44. def logName: String

    Attributes
    protected
    Definition Classes
    Logging
  45. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  46. def logTrace(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  47. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  48. def logWarning(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  49. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  50. final def notify(): Unit

    Definition Classes
    AnyRef
  51. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  52. val numPartitions: IntParam

  53. lazy val params: Array[Param[_]]

    Definition Classes
    Params
  54. def save(path: String): Unit

    Definition Classes
    MLWritable
    Annotations
    @Since( "1.6.0" ) @throws( ... )
  55. final def set(paramPair: ParamPair[_]): ExponentialVectorDiscountTransformer.this.type

    Attributes
    protected
    Definition Classes
    Params
  56. final def set(param: String, value: Any): ExponentialVectorDiscountTransformer.this.type

    Attributes
    protected
    Definition Classes
    Params
  57. final def set[T](param: Param[T], value: T): ExponentialVectorDiscountTransformer.this.type

    Definition Classes
    Params
  58. final def setDefault(paramPairs: ParamPair[_]*): ExponentialVectorDiscountTransformer.this.type

    Attributes
    protected
    Definition Classes
    Params
  59. final def setDefault[T](param: Param[T], value: T): ExponentialVectorDiscountTransformer.this.type

    Attributes
    protected
    Definition Classes
    Params
  60. def setExponentBase(value: Double): ExponentialVectorDiscountTransformer.this.type

  61. def setExponentScale(value: Long): ExponentialVectorDiscountTransformer.this.type

  62. def setGroupByColumns(columns: String*): ExponentialVectorDiscountTransformer.this.type

    Definition Classes
    HasGroupByColumns
  63. def setNumPartitions(value: Int): ExponentialVectorDiscountTransformer.this.type

  64. def setTimeNow(value: Long): ExponentialVectorDiscountTransformer.this.type

  65. def setTimestampColumn(value: String): ExponentialVectorDiscountTransformer.this.type

  66. def setVectorColumn(value: String): ExponentialVectorDiscountTransformer.this.type

  67. def setVectorsSize(value: Int): ExponentialVectorDiscountTransformer.this.type

  68. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  69. val timeNow: LongParam

  70. val timestampColumn: Param[String]

  71. def toString(): String

    Definition Classes
    Identifiable → AnyRef → Any
  72. def transform(dataset: DataFrame): DataFrame

    Perform aggregation with repartition-and-sortWithinPartitions style

    Perform aggregation with repartition-and-sortWithinPartitions style

    1) repartition dataFrame by repartitionBy columns 2) Sorts dataframe via sortColumns + timestamp.asc 3) all data about vectors for identificator - is in one partition and sorted by timestamp; Iterate through partition and aggregate it 4) Map RDD back to dataFrame

    Definition Classes
    ExponentialVectorDiscountTransformer → Transformer
  73. def transform(dataset: DataFrame, paramMap: ParamMap): DataFrame

    Definition Classes
    Transformer
  74. def transform(dataset: DataFrame, firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DataFrame

    Definition Classes
    Transformer
    Annotations
    @varargs()
  75. def transformSchema(schema: StructType): StructType

    Definition Classes
    ExponentialVectorDiscountTransformer → PipelineStage
  76. def transformSchema(schema: StructType, logging: Boolean): StructType

    Attributes
    protected
    Definition Classes
    PipelineStage
    Annotations
    @DeveloperApi()
  77. val uid: String

    Definition Classes
    ExponentialVectorDiscountTransformer → Identifiable
  78. def validateParams(): Unit

    Definition Classes
    Params
  79. val vectorColumn: Param[String]

  80. val vectorsSize: IntParam

  81. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  84. def write: MLWriter

    Definition Classes
    DefaultParamsWritable → MLWritable

Inherited from HasGroupByColumns

Inherited from DefaultParamsWritable

Inherited from MLWritable

Inherited from Transformer

Inherited from PipelineStage

Inherited from Logging

Inherited from Params

Inherited from Serializable

Inherited from Serializable

Inherited from Identifiable

Inherited from AnyRef

Inherited from Any

setParam

Ungrouped