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。”) ¶
-