[SPARK-9914] [ML] define setters explicitly for Java and use setParam group in RFormula
The problem with defining setters in the base class is that it doesn't return the correct type in Java. ericl Author: Xiangrui Meng <meng@databricks.com> Closes #8143 from mengxr/SPARK-9914 and squashes the following commits: d36c887 [Xiangrui Meng] remove setters from model a49021b [Xiangrui Meng] define setters explicitly for Java and use setParam group
This commit is contained in:
parent
df54389212
commit
d7eb371eb6
|
@ -33,11 +33,6 @@ import org.apache.spark.sql.types._
|
|||
* Base trait for [[RFormula]] and [[RFormulaModel]].
|
||||
*/
|
||||
private[feature] trait RFormulaBase extends HasFeaturesCol with HasLabelCol {
|
||||
/** @group getParam */
|
||||
def setFeaturesCol(value: String): this.type = set(featuresCol, value)
|
||||
|
||||
/** @group getParam */
|
||||
def setLabelCol(value: String): this.type = set(labelCol, value)
|
||||
|
||||
protected def hasLabelCol(schema: StructType): Boolean = {
|
||||
schema.map(_.name).contains($(labelCol))
|
||||
|
@ -71,6 +66,12 @@ class RFormula(override val uid: String) extends Estimator[RFormulaModel] with R
|
|||
/** @group getParam */
|
||||
def getFormula: String = $(formula)
|
||||
|
||||
/** @group setParam */
|
||||
def setFeaturesCol(value: String): this.type = set(featuresCol, value)
|
||||
|
||||
/** @group setParam */
|
||||
def setLabelCol(value: String): this.type = set(labelCol, value)
|
||||
|
||||
/** Whether the formula specifies fitting an intercept. */
|
||||
private[ml] def hasIntercept: Boolean = {
|
||||
require(isDefined(formula), "Formula must be defined first.")
|
||||
|
|
Loading…
Reference in a new issue