Class RFormula
- All Implemented Interfaces:
Serializable,org.apache.spark.internal.Logging,org.apache.spark.ml.feature.RFormulaBase,Params,HasFeaturesCol,HasHandleInvalid,HasLabelCol,DefaultParamsWritable,Identifiable,MLWritable
The basic operators are:
- ~ separate target and terms
- + concat terms, "+ 0" means removing intercept
- - remove a term, "- 1" means removing intercept
- : interaction (multiplication for numeric values, or binarized categorical values)
- . all columns except target
- * factor crossing, includes the terms and interactions between them
- ^ factor crossing to a specified degree
Suppose a and b are double columns, we use the following simple examples
to illustrate the effect of RFormula:
- y ~ a + b means model y ~ w0 + w1 * a + w2 * b where w0 is the intercept and w1, w2
are coefficients.
- y ~ a + b + a:b - 1 means model y ~ w1 * a + w2 * b + w3 * a * b where w1, w2, w3
are coefficients.
- y ~ a * b means model y ~ w0 + w1 * a + w2 * b + w3 * a * b where w0 is the
intercept and w1, w2, w3 are coefficients
- y ~ (a + b)^2 means model y ~ w0 + w1 * a + w2 * b + w3 * a * b where w0 is the
intercept and w1, w2, w3 are coefficients
RFormula produces a vector column of features and a double or string column of label.
Like when formulas are used in R for linear regression, string input columns will be one-hot
encoded, and numeric columns will be cast to doubles.
If the label column is of type string, it will be first transformed to double with
StringIndexer. If the label column does not exist in the DataFrame, the output label column
will be created from the specified response variable in the formula.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.spark.internal.Logging
org.apache.spark.internal.Logging.LogStringContext, org.apache.spark.internal.Logging.SparkShellLoggingFilter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a copy of this instance with the same UID and some extra params.Param for features column name.Fits a model to the input data.formula()Param for how to handle invalid entries.labelCol()Param for label column name.static RFormulastatic MLReader<T>read()setFeaturesCol(String value) setForceIndexLabel(boolean value) setFormula(String value) Sets the formula to use for this transformer.setHandleInvalid(String value) setLabelCol(String value) setStringIndexerOrderType(String value) toString()transformSchema(StructType schema) Check transform validity and derive the output schema from the input schema.uid()An immutable unique ID for the object and its derivatives.Methods inherited from class org.apache.spark.ml.PipelineStage
paramsMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.spark.ml.util.DefaultParamsWritable
writeMethods inherited from interface org.apache.spark.ml.param.shared.HasFeaturesCol
getFeaturesColMethods inherited from interface org.apache.spark.ml.param.shared.HasHandleInvalid
getHandleInvalidMethods inherited from interface org.apache.spark.ml.param.shared.HasLabelCol
getLabelColMethods inherited from interface org.apache.spark.internal.Logging
initializeForcefully, initializeLogIfNecessary, initializeLogIfNecessary, initializeLogIfNecessary$default$2, isTraceEnabled, log, logBasedOnLevel, logDebug, logDebug, logDebug, logDebug, logError, logError, logError, logError, logInfo, logInfo, logInfo, logInfo, logName, LogStringContext, logTrace, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, logWarning, MDC, org$apache$spark$internal$Logging$$log_, org$apache$spark$internal$Logging$$log__$eq, withLogContextMethods inherited from interface org.apache.spark.ml.util.MLWritable
saveMethods inherited from interface org.apache.spark.ml.param.Params
clear, copyValues, defaultCopy, defaultParamMap, estimateMatadataSize, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, onParamChange, paramMap, params, set, set, set, setDefault, setDefault, shouldOwnMethods inherited from interface org.apache.spark.ml.feature.RFormulaBase
getForceIndexLabel, getFormula, getStringIndexerOrderType, hasLabelCol, org$apache$spark$ml$feature$RFormulaBase$_setter_$forceIndexLabel_$eq, org$apache$spark$ml$feature$RFormulaBase$_setter_$formula_$eq, org$apache$spark$ml$feature$RFormulaBase$_setter_$handleInvalid_$eq, org$apache$spark$ml$feature$RFormulaBase$_setter_$stringIndexerOrderType_$eq
-
Constructor Details
-
RFormula
-
RFormula
public RFormula()
-
-
Method Details
-
load
-
read
-
formula
- Specified by:
formulain interfaceorg.apache.spark.ml.feature.RFormulaBase
-
forceIndexLabel
- Specified by:
forceIndexLabelin interfaceorg.apache.spark.ml.feature.RFormulaBase
-
handleInvalid
Description copied from interface:HasHandleInvalidParam for how to handle invalid entries. Options are skip (which will filter out rows with bad values), or error (which will throw an error). More options may be added later.- Specified by:
handleInvalidin interfaceHasHandleInvalid- Specified by:
handleInvalidin interfaceorg.apache.spark.ml.feature.RFormulaBase- Returns:
- (undocumented)
-
stringIndexerOrderType
- Specified by:
stringIndexerOrderTypein interfaceorg.apache.spark.ml.feature.RFormulaBase
-
labelCol
Description copied from interface:HasLabelColParam for label column name.- Specified by:
labelColin interfaceHasLabelCol- Returns:
- (undocumented)
-
featuresCol
Description copied from interface:HasFeaturesColParam for features column name.- Specified by:
featuresColin interfaceHasFeaturesCol- Returns:
- (undocumented)
-
uid
Description copied from interface:IdentifiableAn immutable unique ID for the object and its derivatives.- Specified by:
uidin interfaceIdentifiable- Returns:
- (undocumented)
-
setFormula
Sets the formula to use for this transformer. Must be called before use.- Parameters:
value- an R formula in string form (e.g. "y ~ x + z")- Returns:
- (undocumented)
-
setHandleInvalid
-
setFeaturesCol
-
setLabelCol
-
setForceIndexLabel
-
setStringIndexerOrderType
-
fit
Description copied from class:EstimatorFits a model to the input data.- Specified by:
fitin classEstimator<RFormulaModel>- Parameters:
dataset- (undocumented)- Returns:
- (undocumented)
-
transformSchema
Description copied from class:PipelineStageCheck transform validity and derive the output schema from the input schema.We check validity for interactions between parameters during
transformSchemaand raise an exception if any parameter value is invalid. Parameter value checks which do not depend on other parameters are handled byParam.validate().Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.
- Specified by:
transformSchemain classPipelineStage- Parameters:
schema- (undocumented)- Returns:
- (undocumented)
-
copy
Description copied from interface:ParamsCreates a copy of this instance with the same UID and some extra params. Subclasses should implement this method and set the return type properly. SeedefaultCopy().- Specified by:
copyin interfaceParams- Specified by:
copyin classEstimator<RFormulaModel>- Parameters:
extra- (undocumented)- Returns:
- (undocumented)
-
toString
- Specified by:
toStringin interfaceIdentifiable- Overrides:
toStringin classObject
-