public class Pipeline extends Estimator<PipelineModel> implements MLWritable
Estimator
or a Transformer
. When Pipeline.fit
is called, the
stages are executed in order. If a stage is an Estimator
, its Estimator.fit
method will
be called on the input dataset to fit a model. Then the model, which is a transformer, will be
used to transform the dataset as the input to the next stage. If a stage is a Transformer
,
its Transformer.transform
method will be called to produce the dataset for the next stage.
The fitted model from a Pipeline
is a PipelineModel
, which consists of fitted models and
transformers, corresponding to the pipeline stages. If there are no stages, the pipeline acts as
an identity transformer.Modifier and Type | Class and Description |
---|---|
static class |
Pipeline.SharedReadWrite$
|
Modifier and Type | Method and Description |
---|---|
Pipeline |
copy(ParamMap extra)
Creates a copy of this instance with the same UID and some extra params.
|
PipelineModel |
fit(Dataset<?> dataset)
Fits the pipeline to the input dataset with additional parameters.
|
PipelineStage[] |
getStages() |
static Pipeline |
load(String path) |
static MLReader<Pipeline> |
read() |
Pipeline |
setStages(PipelineStage[] value) |
Param<PipelineStage[]> |
stages()
param for pipeline stages
|
StructType |
transformSchema(StructType schema)
Check transform validity and derive the output schema from the input schema.
|
String |
uid()
An immutable unique ID for the object and its derivatives.
|
MLWriter |
write()
Returns an
MLWriter instance for this ML instance. |
params
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
save
clear, copyValues, defaultCopy, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, onParamChange, set, set, set, setDefault, setDefault, shouldOwn
toString
$init$, initializeForcefully, initializeLogIfNecessary, initializeLogIfNecessary, initializeLogIfNecessary$default$2, initLock, isTraceEnabled, log, logDebug, logDebug, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarning, org$apache$spark$internal$Logging$$log__$eq, org$apache$spark$internal$Logging$$log_, uninitialize
public static Pipeline load(String path)
public String uid()
Identifiable
uid
in interface Identifiable
public Param<PipelineStage[]> stages()
public Pipeline setStages(PipelineStage[] value)
public PipelineStage[] getStages()
public PipelineModel fit(Dataset<?> dataset)
Estimator
, its Estimator.fit
method will be called on the input dataset to fit a model.
Then the model, which is a transformer, will be used to transform the dataset as the input to
the next stage. If a stage is a Transformer
, its Transformer.transform
method will be
called to produce the dataset for the next stage. The fitted model from a Pipeline
is an
PipelineModel
, which consists of fitted models and transformers, corresponding to the
pipeline stages. If there are no stages, the output model acts as an identity transformer.
fit
in class Estimator<PipelineModel>
dataset
- input datasetpublic Pipeline copy(ParamMap extra)
Params
defaultCopy()
.copy
in interface Params
copy
in class Estimator<PipelineModel>
extra
- (undocumented)public StructType transformSchema(StructType schema)
PipelineStage
We check validity for interactions between parameters during transformSchema
and
raise an exception if any parameter value is invalid. Parameter value checks which
do not depend on other parameters are handled by Param.validate()
.
Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.
transformSchema
in class PipelineStage
schema
- (undocumented)public MLWriter write()
MLWritable
MLWriter
instance for this ML instance.write
in interface MLWritable