RandomForestClassifier

pyspark.ml.classification。 RandomForestClassifier ( *,featuresCol:str=“特性”,labelCol:str=“標簽”,predictionCol:str=“預測”,probabilityCol:str=“概率”,rawPredictionCol:str=“rawPrediction”,maxDepth:int=5,maxBins:int=32,minInstancesPerNode:int=1,minInfoGain:浮動=0.0,maxMemoryInMB:int=256年,cacheNodeIds:bool=,checkpointInterval:int=10,雜質:str=“基尼”,numTrees:int=20.,featureSubsetStrategy:str=“汽車”,種子:可選(int]=沒有一個,subsamplingRate:浮動=1.0,leafCol:str=,minWeightFractionPerNode:浮動=0.0,weightCol:可選(str]=沒有一個,引導:可選(bool]=真正的 )

隨機森林學習算法的分類。它同時支持二進製和多類標簽,以及連續和分類功能。

例子

> > >進口numpy> > >numpy進口allclose> > >pyspark.ml.linalg進口向量> > >pyspark.ml.feature進口StringIndexer> > >df=火花createDataFrame([(1.0,向量密集的(1.0)),(0.0,向量稀疏的(1,[],[]))),(“標簽”,“特征”])> > >stringIndexer=StringIndexer(inputCol=“標簽”,outputCol=“索引”)> > >si_model=stringIndexer適合(df)> > >道明=si_model變換(df)> > >射頻=RandomForestClassifier(numTrees=3,maxDepth=2,labelCol=“索引”,種子=42,leafCol=“leafId”)> > >射頻getMinWeightFractionPerNode()0.0> > >模型=射頻適合(道明)> > >模型getLabelCol()“索引”> > >模型setFeaturesCol(“特征”)RandomForestClassificationModel……> > >模型setRawPredictionCol(“newRawPrediction”)RandomForestClassificationModel……> > >模型getBootstrap()真正的> > >模型getRawPredictionCol()“newRawPrediction”> > >模型featureImportancesSparseVector ({0: 1.0})> > >allclose(模型treeWeights,(1.0,1.0,1.0])真正的> > >電平=火花createDataFrame(((向量密集的(- - - - - -1.0),),(“特征”])> > >模型預測(電平()特性)0.0> > >模型predictRaw(電平()特性)DenseVector ([2.0, 0.0])> > >模型predictProbability(電平()特性)DenseVector ([1.0, 0.0])> > >結果=模型變換(電平)()> > >結果預測0.0> > >numpyargmax(結果概率)0> > >numpyargmax(結果newRawPrediction)0> > >結果leafIdDenseVector ((0.0, 0.0, 0.0))> > >test1=火花createDataFrame(((向量稀疏的(1,(0),(1.0),),(“特征”])> > >模型變換(test1)()預測1.0> > >模型(DecisionTreeClassificationModel…深度=…,DecisionTreeClassificationModel……)> > >rfc_path=temp_path+“/ rfc”> > >射頻保存(rfc_path)> > >rf2=RandomForestClassifier負載(rfc_path)> > >rf2getNumTrees()3> > >model_path=temp_path+“/ rfc_model”> > >模型保存(model_path)> > >model2=RandomForestClassificationModel負載(model_path)> > >模型featureImportances= =model2featureImportances真正的> > >模型變換(電平)(1)= =model2變換(電平)(1)真正的

方法

清晰的(參數)

清除參數映射的參數是否被顯式地設置。

複製((額外的))

創建這個實例的副本具有相同uid和一些額外的參數。

explainParam(參數)

解釋一個參數並返回它的名字,醫生,和可選的默認值,用戶提供的字符串值。

explainParams()

返回文檔的所有參數選擇默認值和用戶提供的值。

extractParamMap((額外的))

提取嵌入默認參數值和用戶提供的值,然後合並他們額外的值從輸入平麵參數映射,後者使用價值如果存在衝突,即。排序:默認參數值< <額外的用戶提供的值。

適合(數據集[params))

適合一個模型與可選參數的輸入數據集。

fitMultiple(paramMaps數據集)

適合一個模型為每個參數映射的輸入數據集paramMaps

getBootstrap()

被引導的價值或其默認值。

getCacheNodeIds()

得到的價值cacheNodeIds或其默認值。

getCheckpointInterval()

得到的價值checkpointInterval或其默認值。

getFeatureSubsetStrategy()

得到的價值featureSubsetStrategy或其默認值。

getFeaturesCol()

得到的價值featuresCol或其默認值。

getImpurity()

雜質的價值或其默認值。

getLabelCol()

得到的價值labelCol或其默認值。

getLeafCol()

得到的價值leafCol或其默認值。

getMaxBins()

得到的價值maxBins或其默認值。

getMaxDepth()

maxDepth的價值或其默認值。

getMaxMemoryInMB()

得到的價值maxMemoryInMB或其默認值。

getMinInfoGain()

得到的價值minInfoGain或其默認值。

getMinInstancesPerNode()

得到的價值minInstancesPerNode或其默認值。

getMinWeightFractionPerNode()

得到的價值minWeightFractionPerNode或其默認值。

getNumTrees()

得到的價值numTrees或其默認值。

getOrDefault(參數)

得到參數的值在用戶提供的參數映射或其默認值。

getParam(paramName)

通過它的名稱參數。

getPredictionCol()

得到的價值predictionCol或其默認值。

getProbabilityCol()

得到的價值probabilityCol或其默認值。

getRawPredictionCol()

得到的價值rawPredictionCol或其默認值。

getSeed()

種子的價值或其默認值。

getSubsamplingRate()

得到的價值subsamplingRate或其默認值。

getThresholds()

得到的值閾值或其默認值。

getWeightCol()

得到的價值weightCol或其默認值。

hasDefault(參數)

檢查是否一個參數有默認值。

hasParam(paramName)

測試這個實例包含一個參數是否與給定名稱(字符串)。

isDefined(參數)

檢查參數是否由用戶或顯式地設置一個默認值。

收取(參數)

檢查參數是否由用戶顯式地設置。

負載(路徑)

從輸入路徑,讀取一個毫升實例的快捷方式read () .load(路徑)

()

返回一個MLReader這個類的實例。

保存(路徑)

這個毫升實例保存到給定的路徑,一個快捷方式的“寫().save(路徑)。

(參數值)

設置一個參數嵌入參數映射。

setBootstrap(值)

設置的值引導

setCacheNodeIds(值)

設置的值cacheNodeIds

setCheckpointInterval(值)

設置的值checkpointInterval

setFeatureSubsetStrategy(值)

設置的值featureSubsetStrategy

setFeaturesCol(值)

設置的值featuresCol

setImpurity(值)

設置的值雜質

setLabelCol(值)

設置的值labelCol

setLeafCol(值)

設置的值leafCol

setMaxBins(值)

設置的值maxBins

setMaxDepth(值)

設置的值maxDepth

setMaxMemoryInMB(值)

設置的值maxMemoryInMB

setMinInfoGain(值)

設置的值minInfoGain

setMinInstancesPerNode(值)

設置的值minInstancesPerNode

setMinWeightFractionPerNode(值)

設置的值minWeightFractionPerNode

setNumTrees(值)

設置的值numTrees

setparam(自我,labelCol featuresCol…))

設置參數線性分類。

setPredictionCol(值)

設置的值predictionCol

setProbabilityCol(值)

設置的值probabilityCol

setRawPredictionCol(值)

設置的值rawPredictionCol

setSeed(值)

設置的值種子

setSubsamplingRate(值)

設置的值subsamplingRate

setThresholds(值)

設置的值閾值

setWeightCol(值)

設置的值weightCol

()

返回一個MLWriter實例毫升實例。

屬性

引導

cacheNodeIds

checkpointInterval

featureSubsetStrategy

featuresCol

雜質

labelCol

leafCol

maxBins

maxDepth

maxMemoryInMB

minInfoGain

minInstancesPerNode

minWeightFractionPerNode

numTrees

參數個數

返回所有參數命令的名字。

predictionCol

probabilityCol

rawPredictionCol

種子

subsamplingRate

supportedFeatureSubsetStrategies

supportedImpurities

閾值

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(指數)指數值可能不是連續的。

getBootstrap ( )→bool

被引導的價值或其默認值。

getCacheNodeIds ( )→bool

得到的價值cacheNodeIds或其默認值。

getCheckpointInterval ( )→int

得到的價值checkpointInterval或其默認值。

getFeatureSubsetStrategy ( )→str

得到的價值featureSubsetStrategy或其默認值。

getFeaturesCol ( )→str

得到的價值featuresCol或其默認值。

getImpurity ( )→str

雜質的價值或其默認值。

getLabelCol ( )→str

得到的價值labelCol或其默認值。

getLeafCol ( )→str

得到的價值leafCol或其默認值。

getMaxBins ( )→int

得到的價值maxBins或其默認值。

getMaxDepth ( )→int

maxDepth的價值或其默認值。

getMaxMemoryInMB ( )→int

得到的價值maxMemoryInMB或其默認值。

getMinInfoGain ( )→浮動

得到的價值minInfoGain或其默認值。

getMinInstancesPerNode ( )→int

得到的價值minInstancesPerNode或其默認值。

getMinWeightFractionPerNode ( )→浮動

得到的價值minWeightFractionPerNode或其默認值。

getNumTrees ( )→int

得到的價值numTrees或其默認值。

getOrDefault ( 參數:聯盟(str,pyspark.ml.param.Param(T]] )→聯盟(任何,T]

得到參數的值在用戶提供的參數映射或其默認值。如果沒有設置提出了一個錯誤。

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

通過它的名稱參數。

getPredictionCol ( )→str

得到的價值predictionCol或其默認值。

getProbabilityCol ( )→str

得到的價值probabilityCol或其默認值。

getRawPredictionCol ( )→str

得到的價值rawPredictionCol或其默認值。

getSeed ( )→int

種子的價值或其默認值。

getSubsamplingRate ( )→浮動

得到的價值subsamplingRate或其默認值。

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,價值:任何 )→沒有

設置一個參數嵌入參數映射。

setBootstrap ( 價值:bool )pyspark.ml.classification.RandomForestClassifier

設置的值引導

setCacheNodeIds ( 價值:bool )pyspark.ml.classification.RandomForestClassifier

設置的值cacheNodeIds

setCheckpointInterval ( 價值:int )pyspark.ml.classification.RandomForestClassifier

設置的值checkpointInterval

setFeatureSubsetStrategy ( 價值:str )pyspark.ml.classification.RandomForestClassifier

設置的值featureSubsetStrategy

setFeaturesCol ( 價值:str )→P

設置的值featuresCol

setImpurity ( 價值:str )pyspark.ml.classification.RandomForestClassifier

設置的值雜質

setLabelCol ( 價值:str )→P

設置的值labelCol

setLeafCol ( 價值:str )→P

設置的值leafCol

setMaxBins ( 價值:int )pyspark.ml.classification.RandomForestClassifier

設置的值maxBins

setMaxDepth ( 價值:int )pyspark.ml.classification.RandomForestClassifier

設置的值maxDepth

setMaxMemoryInMB ( 價值:int )pyspark.ml.classification.RandomForestClassifier

設置的值maxMemoryInMB

setMinInfoGain ( 價值:浮動 )pyspark.ml.classification.RandomForestClassifier

設置的值minInfoGain

setMinInstancesPerNode ( 價值:int )pyspark.ml.classification.RandomForestClassifier

設置的值minInstancesPerNode

setMinWeightFractionPerNode ( 價值:浮動 )pyspark.ml.classification.RandomForestClassifier

設置的值minWeightFractionPerNode

setNumTrees ( 價值:int )pyspark.ml.classification.RandomForestClassifier

設置的值numTrees

setparam ( 自我,featuresCol=“特性”,labelCol=“標簽”,predictionCol=“預測”,probabilityCol=“概率”,rawPredictionCol=“rawPrediction”,maxDepth=5,maxBins=32,minInstancesPerNode=1,minInfoGain=0.0,maxMemoryInMB=256年,cacheNodeIds=,checkpointInterval=10,種子=沒有一個,雜質=“基尼”,numTrees=20.,featureSubsetStrategy=“汽車”,subsamplingRate=1.0,leafCol=,minWeightFractionPerNode=0.0,weightCol=沒有一個,引導=真正的 )

設置參數線性分類。

setPredictionCol ( 價值:str )→P

設置的值predictionCol

setProbabilityCol ( 價值:str )→P

設置的值probabilityCol

setRawPredictionCol ( 價值:str )→P

設置的值rawPredictionCol

setSeed ( 價值:int )pyspark.ml.classification.RandomForestClassifier

設置的值種子

setSubsamplingRate ( 價值:浮動 )pyspark.ml.classification.RandomForestClassifier

設置的值subsamplingRate

setThresholds ( 價值:列表(浮動] )→P

設置的值閾值

setWeightCol ( 價值:str )pyspark.ml.classification.RandomForestClassifier

設置的值weightCol

( )→pyspark.ml.util.JavaMLWriter

返回一個MLWriter實例毫升實例。

屬性的文檔

引導 =參數(父母=‘定義’,name =“引導”,醫生=“引導樣品是否使用在構建樹”。)
cacheNodeIds =參數(父母=‘定義’,name = ' cacheNodeIds ', doc = '如果錯誤,算法將樹木與節點執行人匹配實例。如果這是真的,該算法將緩存節點為每個實例id。緩存可以加快訓練更深層次的樹。用戶可以設置緩存應該多久通過設置checkpointInterval檢查點或禁用它。”)
checkpointInterval =參數(父母=‘定義’,name = ' checkpointInterval ', doc = '設置檢查點間隔(> = 1)或禁用檢查點(1)。例如10意味著緩存將檢查點每10迭代。注意:此設置將被忽略,如果目錄沒有設置檢查站SparkContext。”)
featureSubsetStrategy =參數(父母=‘定義’,name = ' featureSubsetStrategy ', doc = "的特性考慮數量在每個樹節點分裂。支持選擇:“汽車”(自動選擇任務:如果numTrees = = 1,設置為“所有”。如果numTrees > 1(森林),設置為“√”為分類和回歸“onethird”),“所有”(使用所有功能),“onethird”(使用1/3的特性),“√”(調用sqrt(特性)的數量),“log2”(用log2(特性)的數量),“n”(當n的範圍(0,1.0],使用n *數量的特性。當n的範圍(1,數量的功能),使用n特性)。默認=汽車”)
featuresCol =參數(父母=‘定義’,name = ' featuresCol ', doc =功能列名稱。)
雜質 =參數(父母=‘定義’,name =“雜質”,醫生= '標準用於信息增益計算(不區分大小寫)。支持選擇:熵,基尼”)
labelCol =參數(父母=‘定義’,name = ' labelCol ', doc =“標簽列名。”)
leafCol =參數(父母=‘定義’,name = ' leafCol ', doc = '葉指數列名。預測葉指數每棵樹的每個實例預訂。)
maxBins =參數(父母=‘定義’,name = ' maxBins ', doc = '最大數量的垃圾箱離散化連續特性。必須> = 2,> =數量的類別分類特性。”)
maxDepth =參數(父母=‘定義’,name = ' maxDepth ',醫生= '樹的最大深度。(> = 0)例如,深度0意味著1葉節點;深度1意味著1 + 2葉節點內部節點。必須在區間[0,30]。”)
maxMemoryInMB =參數(父母=‘定義’,name = ' maxMemoryInMB ',醫生在MB = '最大內存分配給直方圖聚合。如果太小,那麼1個節點將被分配每個迭代,和它的總量可能超過這個大小。”)
minInfoGain =參數(父母=‘定義’,name = ' minInfoGain ', doc =分割的最小信息增益被認為是在一個樹節點。)
minInstancesPerNode =參數(父母=‘定義’,name = ' minInstancesPerNode ', doc = '每個孩子都必須有最小數量的實例後分裂。如果分裂導致左邊或者右邊的孩子不到minInstancesPerNode,分割將作為無效的被丟棄。應該是> = 1”。)
minWeightFractionPerNode =參數(父母=‘定義’,name = ' minWeightFractionPerNode ', doc = '的最低分數加權樣本計數後,每個孩子都必須有分裂。如果一個分裂導致分數總重量的向左或向右孩子小於minWeightFractionPerNode,分割將作為無效的被丟棄。應該在區間[0.0,0.5)。”)
numTrees =參數(父母=‘定義’,name = ' numTrees ', doc =數量的樹木訓練(> = 1)。)
參數個數

返回所有參數命令的名字。默認實現使用dir ()所有的屬性類型參數

predictionCol =參數(父母=‘定義’,name = ' predictionCol ', doc =預測列名稱。)
probabilityCol =參數(父母=‘定義’,name = ' probabilityCol ', doc = '列名為預測類條件概率。注意:並不是所有的模型輸出精確校準的概率估計!這些概率應該被視為機密,而不是精確的概率。”)
rawPredictionCol =參數(父母=‘定義’,name = ' rawPredictionCol ', doc =“原始預測(又名信心)列名”。)
種子 =參數(父母=‘定義’,name =“種子”,醫生=“隨機種子。”)
subsamplingRate =參數(父母=‘定義’,name = ' subsamplingRate ', doc = '訓練數據的一部分用於學習每一個決策樹,在範圍(0,1]。)
supportedFeatureSubsetStrategies =[‘汽車’,‘所有’,‘onethird’,‘√’,‘log2’)
supportedImpurities =(“熵”、“基尼”)
閾值 =參數(父母=‘定義’,name =“閾值”,醫生=“多層次分類閾值調整的概率預測每個類。數組長度必須等於類的數量,最多值> 0,除了一個值可能是0。類最大的值p / t是預測,p是原始類和t的概率是類的門檻。”)
weightCol =參數(父母=‘定義’,name = ' weightCol ', doc = '體重列名。如果這不是設置或空,我們對所有實例權重為1.0。”)