Packages

c

com.johnsnowlabs.nlp.annotators.classification

DocumentLogRegClassifierApproach

class DocumentLogRegClassifierApproach extends AnnotatorApproach[DocumentLogRegClassifierModel] with CheckLicense

Trains a model to classify documents with a Logarithmic Regression algorithm. Training data requires columns for text and their label. The result is a trained DocumentLogRegClassifierModel.

Example

Define pipeline stages to prepare the data

val document_assembler = new DocumentAssembler()
  .setInputCol("text")
  .setOutputCol("document")

val tokenizer = new Tokenizer()
  .setInputCols("document")
  .setOutputCol("token")

val normalizer = new Normalizer()
  .setInputCols("token")
  .setOutputCol("normalized")

val stopwords_cleaner = new StopWordsCleaner()
  .setInputCols("normalized")
  .setOutputCol("cleanTokens")
  .setCaseSensitive(false)

val stemmer = new Stemmer()
  .setInputCols("cleanTokens")
  .setOutputCol("stem")

Define the document classifier and fit training data to it

val logreg = new DocumentLogRegClassifierApproach()
  .setInputCols("stem")
  .setLabelCol("category")
  .setOutputCol("prediction")

val pipeline = new Pipeline().setStages(Array(
  document_assembler,
  tokenizer,
  normalizer,
  stopwords_cleaner,
  stemmer,
  logreg
))

val model = pipeline.fit(trainingData)
See also

DocumentLogRegClassifierModel for instantiated models

Linear Supertypes
CheckLicense, AnnotatorApproach[DocumentLogRegClassifierModel], CanBeLazy, DefaultParamsWritable, MLWritable, HasOutputAnnotatorType, HasOutputAnnotationCol, HasInputAnnotationCols, Estimator[DocumentLogRegClassifierModel], PipelineStage, Logging, Params, Serializable, Serializable, Identifiable, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. DocumentLogRegClassifierApproach
  2. CheckLicense
  3. AnnotatorApproach
  4. CanBeLazy
  5. DefaultParamsWritable
  6. MLWritable
  7. HasOutputAnnotatorType
  8. HasOutputAnnotationCol
  9. HasInputAnnotationCols
  10. Estimator
  11. PipelineStage
  12. Logging
  13. Params
  14. Serializable
  15. Serializable
  16. Identifiable
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

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

    uid

    a unique identifier for the instantiated AnnotatorModel

Type Members

  1. type AnnotatorType = String
    Definition Classes
    HasOutputAnnotatorType

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def $[T](param: Param[T]): T
    Attributes
    protected
    Definition Classes
    Params
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def _fit(dataset: Dataset[_], recursiveStages: Option[PipelineModel]): DocumentLogRegClassifierModel
    Attributes
    protected
    Definition Classes
    AnnotatorApproach
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def beforeTraining(spark: SparkSession): Unit
    Definition Classes
    AnnotatorApproach
  8. final def checkSchema(schema: StructType, inputAnnotatorType: String): Boolean
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  9. def checkValidEnvironment(spark: Option[SparkContext]): Unit
    Definition Classes
    CheckLicense
  10. def checkValidScope(scope: String): Unit
    Definition Classes
    CheckLicense
  11. def checkValidScopeAndEnvironment(scope: String, spark: Option[SparkContext], checkLp: Boolean): Unit
    Definition Classes
    CheckLicense
  12. val classificationModelPath: Param[String]

    specify the classification model if it has been already trained.

  13. final def clear(param: Param[_]): DocumentLogRegClassifierApproach.this.type
    Definition Classes
    Params
  14. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  15. final def copy(extra: ParamMap): Estimator[DocumentLogRegClassifierModel]
    Definition Classes
    AnnotatorApproach → Estimator → PipelineStage → Params
  16. def copyValues[T <: Params](to: T, extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  17. final def defaultCopy[T <: Params](extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  18. val description: String
    Definition Classes
    DocumentLogRegClassifierApproach → AnnotatorApproach
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  21. def explainParam(param: Param[_]): String
    Definition Classes
    Params
  22. def explainParams(): String
    Definition Classes
    Params
  23. final def extractParamMap(): ParamMap
    Definition Classes
    Params
  24. final def extractParamMap(extra: ParamMap): ParamMap
    Definition Classes
    Params
  25. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. final def fit(dataset: Dataset[_]): DocumentLogRegClassifierModel
    Definition Classes
    AnnotatorApproach → Estimator
  27. def fit(dataset: Dataset[_], paramMaps: Array[ParamMap]): Seq[DocumentLogRegClassifierModel]
    Definition Classes
    Estimator
    Annotations
    @Since( "2.0.0" )
  28. def fit(dataset: Dataset[_], paramMap: ParamMap): DocumentLogRegClassifierModel
    Definition Classes
    Estimator
    Annotations
    @Since( "2.0.0" )
  29. def fit(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DocumentLogRegClassifierModel
    Definition Classes
    Estimator
    Annotations
    @Since( "2.0.0" ) @varargs()
  30. val fitIntercept: Param[Boolean]

    whether to fit an intercept term (Default: true)

  31. final def get[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  32. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  33. def getClassificationModelPath: String

    specify the classification model if it has been already trained.

  34. final def getDefault[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  35. def getFitIntercept: Boolean

    whether to fit an intercept term (Default: true)

  36. def getInputCols: Array[String]
    Definition Classes
    HasInputAnnotationCols
  37. def getLabelCol: String

    column with the value result we are trying to predict.

  38. def getLabels: Array[String]

    array to output the label in the original form.

  39. def getLazyAnnotator: Boolean
    Definition Classes
    CanBeLazy
  40. def getMaxIter: Int

    maximum number of iterations (Default: 10)

  41. def getMergeChunks: Boolean

    whether to merge all chunks in a document or not (Default: false)

  42. final def getOrDefault[T](param: Param[T]): T
    Definition Classes
    Params
  43. final def getOutputCol: String
    Definition Classes
    HasOutputAnnotationCol
  44. def getParam(paramName: String): Param[Any]
    Definition Classes
    Params
  45. def getTol: Double

    convergence tolerance after each iteration (Default: 1e-6)

  46. def getVectorizationModelPath: String

    specify the vectorization model if it has been already trained.

  47. final def hasDefault[T](param: Param[T]): Boolean
    Definition Classes
    Params
  48. def hasParam(paramName: String): Boolean
    Definition Classes
    Params
  49. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  50. lazy val idf: IDF
  51. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  52. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  53. val inputAnnotatorTypes: Array[AnnotatorType]

    Input annotator types: TOKEN

    Input annotator types: TOKEN

    Definition Classes
    DocumentLogRegClassifierApproach → HasInputAnnotationCols
  54. final val inputCols: StringArrayParam
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  55. final def isDefined(param: Param[_]): Boolean
    Definition Classes
    Params
  56. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  57. def isLp(): Boolean
    Definition Classes
    CheckLicense
  58. final def isSet(param: Param[_]): Boolean
    Definition Classes
    Params
  59. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  60. val labelCol: Param[String]

    column with the value result we are trying to predict.

  61. lazy val labelEncodedCol: String
  62. lazy val labelPredictedCol: String
  63. lazy val labelRawCol: String
  64. val labels: StringArrayParam

    array to output the label in the original form.

  65. val lazyAnnotator: BooleanParam
    Definition Classes
    CanBeLazy
  66. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  67. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  68. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  69. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  70. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  71. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  72. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  73. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  74. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  75. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  76. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  77. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  78. lazy val lrClassifier: LogisticRegression
  79. val maxIter: Param[Int]

    maximum number of iterations (Default: 10)

  80. val mergeChunks: BooleanParam

    whether to merge all chunks in a document or not (Default: false)

  81. def msgHelper(schema: StructType): String
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  82. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  83. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  84. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  85. def onTrained(model: DocumentLogRegClassifierModel, spark: SparkSession): Unit
    Definition Classes
    AnnotatorApproach
  86. val optionalInputAnnotatorTypes: Array[String]
    Definition Classes
    HasInputAnnotationCols
  87. val outputAnnotatorType: AnnotatorType

    Output annotator types: CATEGORY

    Output annotator types: CATEGORY

    Definition Classes
    DocumentLogRegClassifierApproach → HasOutputAnnotatorType
  88. final val outputCol: Param[String]
    Attributes
    protected
    Definition Classes
    HasOutputAnnotationCol
  89. lazy val ovrClassifier: OneVsRest
  90. lazy val params: Array[Param[_]]
    Definition Classes
    Params
  91. def save(path: String): Unit
    Definition Classes
    MLWritable
    Annotations
    @Since( "1.6.0" ) @throws( ... )
  92. final def set(paramPair: ParamPair[_]): DocumentLogRegClassifierApproach.this.type
    Attributes
    protected
    Definition Classes
    Params
  93. final def set(param: String, value: Any): DocumentLogRegClassifierApproach.this.type
    Attributes
    protected
    Definition Classes
    Params
  94. final def set[T](param: Param[T], value: T): DocumentLogRegClassifierApproach.this.type
    Definition Classes
    Params
  95. def setClassificationModelPath(value: String): DocumentLogRegClassifierApproach.this.type

    specify the classification model if it has been already trained.

  96. final def setDefault(paramPairs: ParamPair[_]*): DocumentLogRegClassifierApproach.this.type
    Attributes
    protected
    Definition Classes
    Params
  97. final def setDefault[T](param: Param[T], value: T): DocumentLogRegClassifierApproach.this.type
    Attributes
    protected
    Definition Classes
    Params
  98. def setFitIntercept(value: Boolean): DocumentLogRegClassifierApproach.this.type

    whether to fit an intercept term (Default: true)

  99. final def setInputCols(value: String*): DocumentLogRegClassifierApproach.this.type
    Definition Classes
    HasInputAnnotationCols
  100. final def setInputCols(value: Array[String]): DocumentLogRegClassifierApproach.this.type
    Definition Classes
    HasInputAnnotationCols
  101. def setLabelCol(value: String): DocumentLogRegClassifierApproach.this.type

    column with the value result we are trying to predict.

  102. def setLabels(value: Array[String]): DocumentLogRegClassifierApproach.this.type

    array to output the label in the original form.

  103. def setLazyAnnotator(value: Boolean): DocumentLogRegClassifierApproach.this.type
    Definition Classes
    CanBeLazy
  104. def setMaxIter(value: Int): DocumentLogRegClassifierApproach.this.type

    maximum number of iterations (Default: 10)

  105. def setMergeChunks(value: Boolean): DocumentLogRegClassifierApproach.this.type

    whether to merge all chunks in a document or not (Default: false)

  106. final def setOutputCol(value: String): DocumentLogRegClassifierApproach.this.type
    Definition Classes
    HasOutputAnnotationCol
  107. def setTol(value: Double): DocumentLogRegClassifierApproach.this.type

    convergence tolerance after each iteration (Default: 1e-6)

  108. def setVectorizationModelPath(value: String): DocumentLogRegClassifierApproach.this.type

    specify the vectorization model if it has been already trained.

  109. lazy val sidx: StringIndexer
  110. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  111. lazy val tf: HashingTF
  112. lazy val tfCol: String
  113. lazy val tfidfCol: String
  114. def toString(): String
    Definition Classes
    Identifiable → AnyRef → Any
  115. lazy val tokenAnnotationCol: String
  116. lazy val tokenRawCol: String
  117. val tol: Param[Double]

    convergence tolerance after each iteration (Default: 1e-6)

  118. def train(dataset: Dataset[_], recursivePipeline: Option[PipelineModel]): DocumentLogRegClassifierModel
    Definition Classes
    DocumentLogRegClassifierApproach → AnnotatorApproach
  119. final def transformSchema(schema: StructType): StructType
    Definition Classes
    AnnotatorApproach → PipelineStage
  120. def transformSchema(schema: StructType, logging: Boolean): StructType
    Attributes
    protected
    Definition Classes
    PipelineStage
    Annotations
    @DeveloperApi()
  121. val uid: String
    Definition Classes
    DocumentLogRegClassifierApproach → Identifiable
  122. def validate(schema: StructType): Boolean
    Attributes
    protected
    Definition Classes
    AnnotatorApproach
  123. val vectorizationModelPath: Param[String]

    specify the vectorization model if it has been already trained.

  124. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  125. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  126. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  127. def write: MLWriter
    Definition Classes
    DefaultParamsWritable → MLWritable

Inherited from CheckLicense

Inherited from AnnotatorApproach[DocumentLogRegClassifierModel]

Inherited from CanBeLazy

Inherited from DefaultParamsWritable

Inherited from MLWritable

Inherited from HasOutputAnnotatorType

Inherited from HasOutputAnnotationCol

Inherited from HasInputAnnotationCols

Inherited from Estimator[DocumentLogRegClassifierModel]

Inherited from PipelineStage

Inherited from Logging

Inherited from Params

Inherited from Serializable

Inherited from Serializable

Inherited from Identifiable

Inherited from AnyRef

Inherited from Any

Parameters

Annotator types

Required input and expected output annotator types

Members

Parameter setters

Parameter getters