CrossValidator

pyspark.ml.tuning。 CrossValidator ( *,估計量:可選(pyspark.ml.base.Estimator]=沒有一個,estimatorParamMaps:可選(列表(ParamMap]]=沒有一個,評估者:可選(pyspark.ml.evaluation.Evaluator]=沒有一個,numFolds:int=3,種子:可選(int]=沒有一個,並行性:int=1,collectSubModels:bool=,foldCol:str= )

K-fold交叉驗證執行模型選擇隨機數據集分割到一組重疊分區折疊作為單獨的訓練和測試數據集如k = 3折,K-fold交叉驗證將生成3(培訓、測試)數據集對,每個使用培訓和1/3 2/3的數據進行測試。每個褶皺作為測試集。

例子

> > >pyspark.ml.classification進口LogisticRegression> > >pyspark.ml.evaluation進口BinaryClassificationEvaluator> > >pyspark.ml.linalg進口向量> > >pyspark.ml.tuning進口CrossValidator,ParamGridBuilder,CrossValidatorModel> > >進口tempfile> > >數據集=火花createDataFrame(((向量密集的([0.0]),0.0),(向量密集的([0.4]),1.0),(向量密集的([0.5]),0.0),(向量密集的([0.6]),1.0),(向量密集的([1.0]),1.0)]*10,(“特征”,“標簽”])> > >lr=LogisticRegression()> > >網格=ParamGridBuilder()addGrid(lr麥克斯特,(0,1])構建()> > >評估者=BinaryClassificationEvaluator()> > >簡曆=CrossValidator(估計量=lr,estimatorParamMaps=網格,評估者=評估者,並行性=2)> > >cvModel=簡曆適合(數據集)> > >cvModelgetNumFolds()3> > >cvModelavgMetrics(0]0.5> > >路徑=tempfilemkdtemp()> > >model_path=路徑+“/模式”> > >cvModel()保存(model_path)> > >cvModelRead=CrossValidatorModel()負載(model_path)> > >cvModelReadavgMetrics[0.5,……> > >評估者評估(cvModel變換(數據集))0.8333……> > >評估者評估(cvModelRead變換(數據集))0.8333……

方法

清晰的(參數)

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

複製((額外的))

創建這個實例的副本和一個隨機生成的uid和一些額外的參數。

explainParam(參數)

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

explainParams()

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

extractParamMap((額外的))

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

適合(數據集[params))

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

fitMultiple(paramMaps數據集)

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

getCollectSubModels()

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

getEstimator()

得到估計量的價值或其默認值。

getEstimatorParamMaps()

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

getEvaluator()

被評估者的價值或其默認值。

getFoldCol()

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

getNumFolds()

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

getOrDefault(參數)

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

getParallelism()

並行性的價值或其默認值。

getParam(paramName)

通過它的名稱參數。

getSeed()

種子的價值或其默認值。

hasDefault(參數)

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

hasParam(paramName)

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

isDefined(參數)

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

收取(參數)

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

負載(路徑)

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

()

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

保存(路徑)

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

(參數值)

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

setCollectSubModels(值)

設置的值collectSubModels

setEstimator(值)

設置的值估計量

setEstimatorParamMaps(值)

設置的值estimatorParamMaps

setEvaluator(值)

設置的值評估者

setFoldCol(值)

設置的值foldCol

setNumFolds(值)

設置的值numFolds

setParallelism(值)

設置的值並行性

setparam(*(估計量,…))

setparam(自我,*,估計量= None, estimatorParamMaps = None,評估者= None, numFolds = 3,種子=沒有並行性= 1,collectSubModels = False, foldCol = " "):集交叉驗證器的參數。

setSeed(值)

設置的值種子

()

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

屬性

collectSubModels

估計量

estimatorParamMaps

評估者

foldCol

numFolds

並行性

參數個數

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

種子

方法的文檔

清晰的 ( 參數:pyspark.ml.param.Param )→沒有

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

複製 ( 額外的:可選(ParamMap]=沒有一個 )→CrossValidator

創建這個實例的副本和一個隨機生成的uid和一些額外的參數。這個副本創建了一個深深的嵌入paramMap副本,副本嵌入式和額外的參數。

參數
額外的 東西,可選

額外參數複製到新實例

返回
CrossValidator

這個實例的副本

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

getCollectSubModels ( )→bool

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

getEstimator ( )→pyspark.ml.base.Estimator

得到估計量的價值或其默認值。

getEstimatorParamMaps ( )→列表(ParamMap]

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

getEvaluator ( )pyspark.ml.evaluation.Evaluator

被評估者的價值或其默認值。

getFoldCol ( )→str

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

getNumFolds ( )→int

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

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

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

getParallelism ( )→int

並行性的價值或其默認值。

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

通過它的名稱參數。

getSeed ( )→int

種子的價值或其默認值。

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.tuning.CrossValidatorReader

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

保存 ( 路徑:str )→沒有

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

( 參數:pyspark.ml.param.Param,價值:任何 )→沒有

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

setCollectSubModels ( 價值:bool )pyspark.ml.tuning.CrossValidator

設置的值collectSubModels

setEstimator ( 價值:pyspark.ml.base.Estimator )pyspark.ml.tuning.CrossValidator

設置的值估計量

setEstimatorParamMaps ( 價值:列表(ParamMap] )→CrossValidator

設置的值estimatorParamMaps

setEvaluator ( 價值:pyspark.ml.evaluation.Evaluator )pyspark.ml.tuning.CrossValidator

設置的值評估者

setFoldCol ( 價值:str )pyspark.ml.tuning.CrossValidator

設置的值foldCol

setNumFolds ( 價值:int )pyspark.ml.tuning.CrossValidator

設置的值numFolds

setParallelism ( 價值:int )pyspark.ml.tuning.CrossValidator

設置的值並行性

setparam ( *,估計量:可選(pyspark.ml.base.Estimator]=沒有一個,estimatorParamMaps:可選(列表(ParamMap]]=沒有一個,評估者:可選(pyspark.ml.evaluation.Evaluator]=沒有一個,numFolds:int=3,種子:可選(int]=沒有一個,並行性:int=1,collectSubModels:bool=,foldCol:str= )→CrossValidator

setparam(自我,*,估計量= None, estimatorParamMaps = None,評估者= None, numFolds = 3,種子=沒有並行性= 1,collectSubModels = False, foldCol = " "):集交叉驗證器的參數。

setSeed ( 價值:int )pyspark.ml.tuning.CrossValidator

設置的值種子

( )pyspark.ml.util.MLWriter

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

屬性的文檔

collectSubModels =參數(父母=‘定義’,name = ' collectSubModels ', doc = '參數是否收集列表的子模型訓練期間調優。如果設置為false,那麼隻有最好被擬合後可用。如果設置為真,那麼所有子模型可用。警告:對於大型模型,收集所有子模型可以造成OOMs火花司機。”)
估計量 =參數(父母=‘定義’,name =“估計”,醫生= '估計是旨在')
estimatorParamMaps =參數(父母=‘定義’,name = ' estimatorParamMaps ', doc =估計參數地圖)
評估者 =參數(父母=‘定義’,name =評估者,醫生=的評估者用於選擇hyper-parameters驗證器指標的最大化)
foldCol =參數(父母=‘定義’,name = ' foldCol ', doc = "參數用戶指定的列名褶皺數。一旦被指定,py:類:“CrossValidator”不會隨機k-fold分裂。注意,這列應該是整數類型區間[0,numFolds)和火花將拋出異常超出範圍折疊數字。”)
numFolds =參數(父母=‘定義’,name = ' numFolds ', doc =折交叉驗證的數量)
並行性 =參數(父母=‘定義’,name =“並行性”,醫生=數量的線程使用的並行算法運行時(> = 1)。)
參數個數

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

種子 =參數(父母=‘定義’,name =“種子”,醫生=“隨機種子。”)