NaiveBayes

pyspark.ml.classification。 NaiveBayes ( *,featuresCol:str=“特性”,labelCol:str=“标签”,predictionCol:str=“预测”,probabilityCol:str=“概率”,rawPredictionCol:str=“rawPrediction”,平滑:浮动=1.0,modelType:str=多项式的,阈值:可选(列表(浮动]]=没有一个,weightCol:可选(str]=没有一个 )

朴素贝叶斯分类器。它同时支持多项和伯努利NB。多项NB可以处理有限离散数据的支持。例如,通过将文档转换成TF-IDF向量,它可用于文档分类。通过每一个向量二进制数据(0/1),它也可以被用作伯努利NB

的输入特征值多项式NB和伯努利NB必须负的。3.0.0以来,它支持补充NB多项NB的适应。具体来说,每个类的补注使用统计数据补计算模型的系数。补充NB的发明家展示经验的参数估计比多项式NB CNB更稳定。像多项NB,输入特征值补注必须负的。从3.0.0,它还支持高斯NB。可以处理连续数据。

例子

> > >pyspark.sql进口> > >pyspark.ml.linalg进口向量> > >df=火花createDataFrame([(标签=0.0,重量=0.1,特性=向量密集的([0.0,0.0))),(标签=0.0,重量=0.5,特性=向量密集的([0.0,1.0))),(标签=1.0,重量=1.0,特性=向量密集的([1.0,0.0)))))> > >=NaiveBayes(平滑=1.0,modelType=“多项”,weightCol=“重量”)> > >模型=适合(df)> > >模型setFeaturesCol(“特征”)NaiveBayesModel……> > >模型getSmoothing()1.0> > >模型πDenseVector ([-0.81…,-0.58……)> > >模型θDenseMatrix (2, 2, [-0.91…,-0.51……,-0.40……,-1.09……),1)> > >模型σDenseMatrix (0, 0, […),…)> > >电平=sc并行化([(特性=向量密集的([1.0,0.0)))))toDF()> > >模型预测(电平()特性)1.0> > >模型predictRaw(电平()特性)DenseVector ([-1.72…,-0.99……)> > >模型predictProbability(电平()特性)DenseVector ([0.32…,0.67……)> > >结果=模型变换(电平)()> > >结果预测1.0> > >结果概率DenseVector ([0.32…,0.67……)> > >结果rawPredictionDenseVector ([-1.72…,-0.99……)> > >test1=sc并行化([(特性=向量稀疏的(2,(0),(1.0)))))toDF()> > >模型变换(test1)()预测1.0> > >nb_path=temp_path+“/ nb”> > >保存(nb_path)> > >nb2=NaiveBayes负载(nb_path)> > >nb2getSmoothing()1.0> > >model_path=temp_path+“/ nb_model”> > >模型保存(model_path)> > >model2=NaiveBayesModel负载(model_path)> > >模型π= =model2π真正的> > >模型θ= =model2θ真正的> > >模型变换(电平)(1)= =model2变换(电平)(1)真正的> > >=setThresholds([0.01,10.00])> > >model3=适合(df)> > >结果=model3变换(电平)()> > >结果预测0.0> > >nb3=NaiveBayes()setModelType(“高斯”)> > >model4=nb3适合(df)> > >model4getModelType()“高斯”> > >model4σDenseMatrix (2, 2, (0.0, 0.25, 0.0, 0.0), 1)> > >nb5=NaiveBayes(平滑=1.0,modelType=“补”,weightCol=“重量”)> > >model5=nb5适合(df)> > >model5getModelType()“补”> > >model5θDenseMatrix (2, 2,…),1)> > >model5σDenseMatrix (0, 0, […),…)

方法

清晰的(参数)

清除参数映射的参数是否被显式地设置。

复制((额外的))

创建这个实例的副本具有相同uid和一些额外的参数。

explainParam(参数)

解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。

explainParams()

返回文档的所有参数选择默认值和用户提供的值。

extractParamMap((额外的))

提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。

适合(数据集[params))

适合一个模型与可选参数的输入数据集。

fitMultiple(paramMaps数据集)

适合一个模型为每个参数映射的输入数据集paramMaps

getFeaturesCol()

得到的价值featuresCol或其默认值。

getLabelCol()

得到的价值labelCol或其默认值。

getModelType()

得到的价值modelType或其默认值。

getOrDefault(参数)

得到参数的值在用户提供的参数映射或其默认值。

getParam(paramName)

通过它的名称参数。

getPredictionCol()

得到的价值predictionCol或其默认值。

getProbabilityCol()

得到的价值probabilityCol或其默认值。

getRawPredictionCol()

得到的价值rawPredictionCol或其默认值。

getSmoothing()

得到平滑的价值或其默认值。

getThresholds()

得到的值阈值或其默认值。

getWeightCol()

得到的价值weightCol或其默认值。

hasDefault(参数)

检查是否一个参数有默认值。

hasParam(paramName)

测试这个实例包含一个参数是否与给定名称(字符串)。

isDefined(参数)

检查参数是否由用户或显式地设置一个默认值。

收取(参数)

检查参数是否由用户显式地设置。

负载(路径)

从输入路径,读取一个毫升实例的快捷方式read () .load(路径)

()

返回一个MLReader这个类的实例。

保存(路径)

这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。

(参数值)

设置一个参数嵌入参数映射。

setFeaturesCol(值)

设置的值featuresCol

setLabelCol(值)

设置的值labelCol

setModelType(值)

设置的值modelType

setparam(自我,\ [,labelCol featuresCol…))

集朴素贝叶斯参数。

setPredictionCol(值)

设置的值predictionCol

setProbabilityCol(值)

设置的值probabilityCol

setRawPredictionCol(值)

设置的值rawPredictionCol

setSmoothing(值)

设置的值平滑

setThresholds(值)

设置的值阈值

setWeightCol(值)

设置的值weightCol

()

返回一个MLWriter实例毫升实例。

属性

featuresCol

labelCol

modelType

参数个数

返回所有参数命令的名字。

predictionCol

probabilityCol

rawPredictionCol

平滑

阈值

weightCol

方法的文档

清晰的 ( 参数:pyspark.ml.param.Param )→没有

清除参数映射的参数是否被显式地设置。

复制 ( 额外的:可选(ParamMap]=没有一个 )→摩根大通

创建这个实例的副本具有相同uid和一些额外的参数。这个实现第一次调用参数。复制and then make a copy of the companion Java pipeline component with extra params. So both the Python wrapper and the Java pipeline component get copied.

参数
额外的 东西,可选

额外参数复制到新实例

返回
JavaParams

这个实例的副本

explainParam ( 参数:联盟(str,pyspark.ml.param.Param] )→str

解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。

explainParams ( )→str

返回文档的所有参数选择默认值和用户提供的值。

extractParamMap ( 额外的:可选(ParamMap]=没有一个 )→ParamMap

提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。

参数
额外的 东西,可选

额外的参数值

返回
dict

合并后的参数映射

适合 ( 数据集:pyspark.sql.dataframe.DataFrame,参数个数:联盟[ParamMap、列表(ParamMap)元组(ParamMap),没有一个)=没有一个 )→联盟(,列表(] ]

适合一个模型与可选参数的输入数据集。

参数
数据集 pyspark.sql.DataFrame

输入数据集。

参数个数 dict或列表或元组,可选的

一个可选的参数覆盖嵌入参数的地图。如果列表/元组的参数映射,这适用于每一个参数并返回一个列表的模型映射。

返回
变压器或者一个列表变压器

拟合模型(年代)

fitMultiple ( 数据集:pyspark.sql.dataframe.DataFrame,paramMaps:序列(ParamMap] )→迭代器(元组(int,] ]

适合一个模型为每个参数映射的输入数据集paramMaps

参数
数据集 pyspark.sql.DataFrame

输入数据集。

paramMaps collections.abc.Sequence

一系列的参数映射。

返回
_FitMultipleIterator

一个线程安全的iterable包含为每个参数映射模型。每次调用下一个(modelIterator)将返回(指数模型)模型是适合使用在哪里paramMaps(指数)指数值可能不是连续的。

getFeaturesCol ( )→str

得到的价值featuresCol或其默认值。

getLabelCol ( )→str

得到的价值labelCol或其默认值。

getModelType ( )→str

得到的价值modelType或其默认值。

getOrDefault ( 参数:联盟(str,pyspark.ml.param.Param(T]] )→联盟(任何,T]

得到参数的值在用户提供的参数映射或其默认值。如果没有设置提出了一个错误。

getParam ( paramName:str )pyspark.ml.param.Param

通过它的名称参数。

getPredictionCol ( )→str

得到的价值predictionCol或其默认值。

getProbabilityCol ( )→str

得到的价值probabilityCol或其默认值。

getRawPredictionCol ( )→str

得到的价值rawPredictionCol或其默认值。

getSmoothing ( )→浮动

得到平滑的价值或其默认值。

getThresholds ( )→列表(浮动]

得到的值阈值或其默认值。

getWeightCol ( )→str

得到的价值weightCol或其默认值。

hasDefault ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查是否一个参数有默认值。

hasParam ( paramName:str )→bool

测试这个实例包含一个参数是否与给定名称(字符串)。

isDefined ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查参数是否由用户或显式地设置一个默认值。

收取 ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查参数是否由用户显式地设置。

classmethod 负载 ( 路径:str )→RL

从输入路径,读取一个毫升实例的快捷方式read () .load(路径)

classmethod ( )→pyspark.ml.util.JavaMLReader(RL]

返回一个MLReader这个类的实例。

保存 ( 路径:str )→没有

这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。

( 参数:pyspark.ml.param.Param,价值:任何 )→没有

设置一个参数嵌入参数映射。

setFeaturesCol ( 价值:str )→P

设置的值featuresCol

setLabelCol ( 价值:str )→P

设置的值labelCol

setModelType ( 价值:str )pyspark.ml.classification.NaiveBayes

设置的值modelType

setparam ( 自我,\ *,featuresCol = "特性",labelCol = "标签",predictionCol = "预测",probabilityCol =“概率”,rawPredictionCol = " rawPrediction ",平滑= 1.0,modelType = "多项",阈值=没有,weightCol =没有 )

集朴素贝叶斯参数。

setPredictionCol ( 价值:str )→P

设置的值predictionCol

setProbabilityCol ( 价值:str )→P

设置的值probabilityCol

setRawPredictionCol ( 价值:str )→P

设置的值rawPredictionCol

setSmoothing ( 价值:浮动 )pyspark.ml.classification.NaiveBayes

设置的值平滑

setThresholds ( 价值:列表(浮动] )→P

设置的值阈值

setWeightCol ( 价值:str )pyspark.ml.classification.NaiveBayes

设置的值weightCol

( )→pyspark.ml.util.JavaMLWriter

返回一个MLWriter实例毫升实例。

属性的文档

featuresCol =参数(父母=‘定义’,name = ' featuresCol ', doc =功能列名称。)
labelCol =参数(父母=‘定义’,name = ' labelCol ', doc =“标签列名。”)
modelType =参数(父母=‘定义’,name = ' modelType ', doc = '的模型类型是一个字符串(大小写敏感)。支持选项:多项(默认)、伯努利和高斯。”)
参数个数

返回所有参数命令的名字。默认实现使用dir ()所有的属性类型参数

predictionCol =参数(父母=‘定义’,name = ' predictionCol ', doc =预测列名称。)
probabilityCol =参数(父母=‘定义’,name = ' probabilityCol ', doc = '列名为预测类条件概率。注意:并不是所有的模型输出精确校准的概率估计!这些概率应该被视为机密,而不是精确的概率。”)
rawPredictionCol =参数(父母=‘定义’,name = ' rawPredictionCol ', doc =“原始预测(又名信心)列名”。)
平滑 =参数(父母=‘定义’,name =“平滑”,医生=的平滑参数,应该是> = 0,默认是1.0”)
阈值 =参数(父母=‘定义’,name =“阈值”,医生=“多层次分类阈值调整的概率预测每个类。数组长度必须等于类的数量,最多值> 0,除了一个值可能是0。类最大的值p / t是预测,p是原始类和t的概率是类的门槛。”)
weightCol =参数(父母=‘定义’,name = ' weightCol ', doc = '体重列名。如果这不是设置或空,我们对所有实例权重为1.0。”)