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)> > >nb2。getSmoothing()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)> > >model4。getModelType()“高斯”> > >model4。σDenseMatrix (2, 2, (0.0, 0.25, 0.0, 0.0), 1)> > >nb5=NaiveBayes(平滑=1.0,modelType=“补”,weightCol=“重量”)> > >model5=nb5。适合(df)> > >model5。getModelType()“补”> > >model5。θDenseMatrix (2, 2,…),1)> > >model5。σDenseMatrix (0, 0, […),…)
方法
清晰的
(参数)清除参数映射的参数是否被显式地设置。
复制
((额外的))创建这个实例的副本具有相同uid和一些额外的参数。
explainParam
(参数)解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。
返回文档的所有参数选择默认值和用户提供的值。
extractParamMap
((额外的))提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。
适合
(数据集[params))适合一个模型与可选参数的输入数据集。
fitMultiple
(paramMaps数据集)适合一个模型为每个参数映射的输入数据集paramMaps。
得到的价值featuresCol或其默认值。
得到的价值labelCol或其默认值。
得到的价值modelType或其默认值。
getOrDefault
(参数)得到参数的值在用户提供的参数映射或其默认值。
getParam
(paramName)通过它的名称参数。
得到的价值predictionCol或其默认值。
得到的价值probabilityCol或其默认值。
得到的价值rawPredictionCol或其默认值。
得到平滑的价值或其默认值。
得到的值阈值或其默认值。
得到的价值weightCol或其默认值。
hasDefault
(参数)检查是否一个参数有默认值。
hasParam
(paramName)测试这个实例包含一个参数是否与给定名称(字符串)。
isDefined
(参数)检查参数是否由用户或显式地设置一个默认值。
收取
(参数)检查参数是否由用户显式地设置。
负载
(路径)从输入路径,读取一个毫升实例的快捷方式read () .load(路径)。
读
()返回一个MLReader这个类的实例。
保存
(路径)这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。
集
(参数值)设置一个参数嵌入参数映射。
设置的值
featuresCol
。setLabelCol
(值)设置的值
labelCol
。setModelType
(值)设置的值
modelType
。setparam
(自我,\ [,labelCol featuresCol…))集朴素贝叶斯参数。
设置的值
predictionCol
。设置的值
probabilityCol
。设置的值
rawPredictionCol
。setSmoothing
(值)设置的值
平滑
。设置的值
阈值
。setWeightCol
(值)设置的值
weightCol
。写
()返回一个MLWriter实例毫升实例。
属性
返回所有参数命令的名字。
方法的文档
-
清晰的
( 参数: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
。
-
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 ¶ -
设置的值
平滑
。
-
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。”) ¶
-