public class NaiveBayes extends ProbabilisticClassifier<Vector,NaiveBayes,NaiveBayesModel>
http://nlp.stanford.edu/IR-book/html/htmledition/naive-bayes-text-classification-1.html)
which can handle finitely supported discrete data. For example, by converting documents into
TF-IDF vectors, it can be used for document classification. By making every vector a
binary (0/1) data, it can also be used as Bernoulli NB
(http://nlp.stanford.edu/IR-book/html/htmledition/the-bernoulli-model-1.html).
The input feature values must be nonnegative.| Constructor and Description |
|---|
NaiveBayes() |
NaiveBayes(java.lang.String uid) |
| Modifier and Type | Method and Description |
|---|---|
protected static <T> T |
$(Param<T> param) |
static Params |
clear(Param<?> param) |
NaiveBayes |
copy(ParamMap extra)
Creates a copy of this instance with the same UID and some extra params.
|
protected static <T extends Params> |
copyValues(T to,
ParamMap extra) |
protected static <T extends Params> |
copyValues$default$2() |
protected static <T extends Params> |
defaultCopy(ParamMap extra) |
static java.lang.String |
explainParam(Param<?> param) |
static java.lang.String |
explainParams() |
protected static RDD<LabeledPoint> |
extractLabeledPoints(Dataset<?> dataset) |
protected static RDD<LabeledPoint> |
extractLabeledPoints(Dataset<?> dataset,
int numClasses) |
static ParamMap |
extractParamMap() |
static ParamMap |
extractParamMap(ParamMap extra) |
static Param<java.lang.String> |
featuresCol() |
Param<java.lang.String> |
featuresCol()
Param for features column name.
|
static M |
fit(Dataset<?> dataset) |
static M |
fit(Dataset<?> dataset,
ParamMap paramMap) |
static scala.collection.Seq<M> |
fit(Dataset<?> dataset,
ParamMap[] paramMaps) |
static M |
fit(Dataset<?> dataset,
ParamPair<?> firstParamPair,
ParamPair<?>... otherParamPairs) |
static M |
fit(Dataset<?> dataset,
ParamPair<?> firstParamPair,
scala.collection.Seq<ParamPair<?>> otherParamPairs) |
static <T> scala.Option<T> |
get(Param<T> param) |
static <T> scala.Option<T> |
getDefault(Param<T> param) |
static java.lang.String |
getFeaturesCol() |
java.lang.String |
getFeaturesCol() |
static java.lang.String |
getLabelCol() |
java.lang.String |
getLabelCol() |
static java.lang.String |
getModelType() |
java.lang.String |
getModelType() |
protected static int |
getNumClasses(Dataset<?> dataset,
int maxNumClasses) |
protected static int |
getNumClasses$default$2() |
static <T> T |
getOrDefault(Param<T> param) |
static Param<java.lang.Object> |
getParam(java.lang.String paramName) |
static java.lang.String |
getPredictionCol() |
java.lang.String |
getPredictionCol() |
static java.lang.String |
getProbabilityCol() |
static java.lang.String |
getRawPredictionCol() |
java.lang.String |
getRawPredictionCol() |
static double |
getSmoothing() |
double |
getSmoothing() |
static double[] |
getThresholds() |
static <T> boolean |
hasDefault(Param<T> param) |
static boolean |
hasParam(java.lang.String paramName) |
protected static void |
initializeLogIfNecessary(boolean isInterpreter) |
static boolean |
isDefined(Param<?> param) |
static boolean |
isSet(Param<?> param) |
protected static boolean |
isTraceEnabled() |
static Param<java.lang.String> |
labelCol() |
Param<java.lang.String> |
labelCol()
Param for label column name.
|
static NaiveBayes |
load(java.lang.String path) |
protected static org.slf4j.Logger |
log() |
protected static void |
logDebug(scala.Function0<java.lang.String> msg) |
protected static void |
logDebug(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable) |
protected static void |
logError(scala.Function0<java.lang.String> msg) |
protected static void |
logError(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable) |
protected static void |
logInfo(scala.Function0<java.lang.String> msg) |
protected static void |
logInfo(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable) |
protected static java.lang.String |
logName() |
protected static void |
logTrace(scala.Function0<java.lang.String> msg) |
protected static void |
logTrace(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable) |
protected static void |
logWarning(scala.Function0<java.lang.String> msg) |
protected static void |
logWarning(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable) |
static Param<java.lang.String> |
modelType() |
Param<java.lang.String> |
modelType()
The model type which is a string (case-sensitive).
|
static Param<?>[] |
params() |
static Param<java.lang.String> |
predictionCol() |
Param<java.lang.String> |
predictionCol()
Param for prediction column name.
|
static Param<java.lang.String> |
probabilityCol() |
static Param<java.lang.String> |
rawPredictionCol() |
Param<java.lang.String> |
rawPredictionCol()
Param for raw prediction (a.k.a.
|
static void |
save(java.lang.String path) |
static <T> Params |
set(Param<T> param,
T value) |
protected static Params |
set(ParamPair<?> paramPair) |
protected static Params |
set(java.lang.String param,
java.lang.Object value) |
protected static <T> Params |
setDefault(Param<T> param,
T value) |
protected static Params |
setDefault(scala.collection.Seq<ParamPair<?>> paramPairs) |
static Learner |
setFeaturesCol(java.lang.String value) |
static Learner |
setLabelCol(java.lang.String value) |
NaiveBayes |
setModelType(java.lang.String value)
Set the model type using a string (case-sensitive).
|
static Learner |
setPredictionCol(java.lang.String value) |
static E |
setProbabilityCol(java.lang.String value) |
static E |
setRawPredictionCol(java.lang.String value) |
NaiveBayes |
setSmoothing(double value)
Set the smoothing parameter.
|
static E |
setThresholds(double[] value) |
static DoubleParam |
smoothing() |
DoubleParam |
smoothing()
The smoothing parameter.
|
static DoubleArrayParam |
thresholds() |
static java.lang.String |
toString() |
protected NaiveBayesModel |
train(Dataset<?> dataset)
Train a model using the given dataset and parameters.
|
static StructType |
transformSchema(StructType schema) |
protected static StructType |
transformSchema(StructType schema,
boolean logging) |
java.lang.String |
uid()
An immutable unique ID for the object and its derivatives.
|
protected static StructType |
validateAndTransformSchema(StructType schema,
boolean fitting,
DataType featuresDataType) |
StructType |
validateAndTransformSchema(StructType schema,
boolean fitting,
DataType featuresDataType) |
StructType |
validateAndTransformSchema(StructType schema,
boolean fitting,
DataType featuresDataType)
Validates and transforms the input schema with the provided param map.
|
static void |
validateParams() |
static MLWriter |
write() |
MLWriter |
write()
Returns an
MLWriter instance for this ML instance. |
setProbabilityCol, setThresholdsextractLabeledPoints, getNumClasses, setRawPredictionColextractLabeledPoints, fit, setFeaturesCol, setLabelCol, setPredictionCol, transformSchematransformSchemaclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsaveclear, copyValues, defaultCopy, defaultParamMap, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, paramMap, params, set, set, set, setDefault, setDefault, shouldOwn, validateParamstoStringpublic NaiveBayes(java.lang.String uid)
public NaiveBayes()
public static NaiveBayes load(java.lang.String path)
public static java.lang.String toString()
public static Param<?>[] params()
public static void validateParams()
public static java.lang.String explainParam(Param<?> param)
public static java.lang.String explainParams()
public static final boolean isSet(Param<?> param)
public static final boolean isDefined(Param<?> param)
public static boolean hasParam(java.lang.String paramName)
public static Param<java.lang.Object> getParam(java.lang.String paramName)
protected static final Params set(java.lang.String param, java.lang.Object value)
public static final <T> scala.Option<T> get(Param<T> param)
public static final <T> T getOrDefault(Param<T> param)
protected static final <T> T $(Param<T> param)
public static final <T> scala.Option<T> getDefault(Param<T> param)
public static final <T> boolean hasDefault(Param<T> param)
public static final ParamMap extractParamMap()
protected static java.lang.String logName()
protected static org.slf4j.Logger log()
protected static void logInfo(scala.Function0<java.lang.String> msg)
protected static void logDebug(scala.Function0<java.lang.String> msg)
protected static void logTrace(scala.Function0<java.lang.String> msg)
protected static void logWarning(scala.Function0<java.lang.String> msg)
protected static void logError(scala.Function0<java.lang.String> msg)
protected static void logInfo(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable)
protected static void logDebug(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable)
protected static void logTrace(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable)
protected static void logWarning(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable)
protected static void logError(scala.Function0<java.lang.String> msg,
java.lang.Throwable throwable)
protected static boolean isTraceEnabled()
protected static void initializeLogIfNecessary(boolean isInterpreter)
protected static StructType transformSchema(StructType schema, boolean logging)
public static M fit(Dataset<?> dataset, ParamPair<?> firstParamPair, scala.collection.Seq<ParamPair<?>> otherParamPairs)
public static M fit(Dataset<?> dataset, ParamPair<?> firstParamPair, ParamPair<?>... otherParamPairs)
public static final Param<java.lang.String> labelCol()
public static final java.lang.String getLabelCol()
public static final Param<java.lang.String> featuresCol()
public static final java.lang.String getFeaturesCol()
public static final Param<java.lang.String> predictionCol()
public static final java.lang.String getPredictionCol()
public static Learner setLabelCol(java.lang.String value)
public static Learner setFeaturesCol(java.lang.String value)
public static Learner setPredictionCol(java.lang.String value)
public static M fit(Dataset<?> dataset)
public static StructType transformSchema(StructType schema)
protected static RDD<LabeledPoint> extractLabeledPoints(Dataset<?> dataset)
public static final Param<java.lang.String> rawPredictionCol()
public static final java.lang.String getRawPredictionCol()
public static E setRawPredictionCol(java.lang.String value)
protected static RDD<LabeledPoint> extractLabeledPoints(Dataset<?> dataset, int numClasses)
protected static int getNumClasses(Dataset<?> dataset, int maxNumClasses)
protected static int getNumClasses$default$2()
public static final Param<java.lang.String> probabilityCol()
public static final java.lang.String getProbabilityCol()
public static final DoubleArrayParam thresholds()
public static double[] getThresholds()
protected static StructType validateAndTransformSchema(StructType schema, boolean fitting, DataType featuresDataType)
public static E setProbabilityCol(java.lang.String value)
public static E setThresholds(double[] value)
public static final DoubleParam smoothing()
public static final double getSmoothing()
public static final Param<java.lang.String> modelType()
public static final java.lang.String getModelType()
public static void save(java.lang.String path)
throws java.io.IOException
java.io.IOExceptionpublic static MLWriter write()
public java.lang.String uid()
Identifiableuid in interface Identifiablepublic NaiveBayes setSmoothing(double value)
value - (undocumented)public NaiveBayes setModelType(java.lang.String value)
value - (undocumented)protected NaiveBayesModel train(Dataset<?> dataset)
Predictorfit() to avoid dealing with schema validation
and copying parameters into the model.
train in class Predictor<Vector,NaiveBayes,NaiveBayesModel>dataset - Training datasetpublic NaiveBayes copy(ParamMap extra)
Paramscopy in interface Paramscopy in class Predictor<Vector,NaiveBayes,NaiveBayesModel>extra - (undocumented)defaultCopy()public DoubleParam smoothing()
public double getSmoothing()
public Param<java.lang.String> modelType()
public java.lang.String getModelType()
public MLWriter write()
MLWritableMLWriter instance for this ML instance.write in interface MLWritablepublic StructType validateAndTransformSchema(StructType schema, boolean fitting, DataType featuresDataType)
public Param<java.lang.String> rawPredictionCol()
public java.lang.String getRawPredictionCol()
public StructType validateAndTransformSchema(StructType schema, boolean fitting, DataType featuresDataType)
schema - input schemafitting - whether this is in fittingfeaturesDataType - SQL DataType for FeaturesType.
E.g., VectorUDT for vector features.public Param<java.lang.String> labelCol()
public java.lang.String getLabelCol()
public Param<java.lang.String> featuresCol()
public java.lang.String getFeaturesCol()
public Param<java.lang.String> predictionCol()
public java.lang.String getPredictionCol()