GBTClassifier¶
-
类
pyspark.ml.classification。
GBTClassifier
( *,featuresCol:str=“特性”,labelCol:str=“标签”,predictionCol:str=“预测”,maxDepth:int=5,maxBins:int=32,minInstancesPerNode:int=1,minInfoGain:浮动=0.0,maxMemoryInMB:int=256年,cacheNodeIds:bool=假,checkpointInterval:int=10,lossType:str=“物流”,麦克斯特:int=20.,stepSize:浮动=0.1,种子:可选(int]=没有一个,subsamplingRate:浮动=1.0,杂质:str=“方差”,featureSubsetStrategy:str=“所有”,validationTol:浮动=0.01,validationIndicatorCol:可选(str]=没有一个,leafCol:str=”,minWeightFractionPerNode:浮动=0.0,weightCol:可选(str]=没有一个 ) ¶ -
Gradient-Boosted树(GBTs)学习算法的分类。它支持二进制标签,以及连续和分类功能。
笔记
目前不支持多类标签。
实现是基于:J.H.弗里德曼。“随机梯度增加。1999。
梯度增加与TreeBoost:
这个实现是随机梯度增加,不是TreeBoost。
两种算法学习树乐团通过最小化损失函数。
TreeBoost(弗里德曼,1999)另外修改输出树的叶节点基于损失函数,而最初的梯度提升方法不。
我们希望在未来实现TreeBoost:火星- 4240
例子
> > >从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)> > >gbt=GBTClassifier(麦克斯特=5,maxDepth=2,labelCol=“索引”,种子=42,…leafCol=“leafId”)> > >gbt。setMaxIter(5)GBTClassifier……> > >gbt。setMinWeightFractionPerNode(0.049)GBTClassifier……> > >gbt。getMaxIter()5> > >gbt。getFeatureSubsetStrategy()“所有”> > >模型=gbt。适合(道明)> > >模型。getLabelCol()“索引”> > >模型。setFeaturesCol(“特征”)GBTClassificationModel……> > >模型。setThresholds([0.3,0.7])GBTClassificationModel……> > >模型。getThresholds()[0.3,0.7]> > >模型。featureImportancesSparseVector ({0: 1.0})> > >allclose(模型。treeWeights,(1.0,0.1,0.1,0.1,0.1])真正的> > >电平=火花。createDataFrame(((向量。密集的(- - - - - -1.0),),(“特征”])> > >模型。预测(电平。头()。特性)0.0> > >模型。predictRaw(电平。头()。特性)DenseVector ([1.1697, -1.1697])> > >模型。predictProbability(电平。头()。特性)DenseVector ([0.9121, 0.0879])> > >结果=模型。变换(电平)。头()> > >结果。预测0.0> > >结果。leafIdDenseVector ([0.0, 0.0, 0.0, 0.0, 0.0))> > >test1=火花。createDataFrame(((向量。稀疏的(1,(0),(1.0),),(“特征”])> > >模型。变换(test1)。头()。预测1.0> > >模型。totalNumNodes15> > >打印(模型。toDebugString)GBTClassificationModel numTrees = 5…> > >gbtc_path=temp_path+“gbtc”> > >gbt。保存(gbtc_path)> > >gbt2=GBTClassifier。负载(gbtc_path)> > >gbt2。getMaxDepth()2> > >model_path=temp_path+“gbtc_model”> > >模型。保存(model_path)> > >model2=GBTClassificationModel。负载(model_path)> > >模型。featureImportances= =model2。featureImportances真正的> > >模型。treeWeights= =model2。treeWeights真正的> > >模型。变换(电平)。取(1)= =model2。变换(电平)。取(1)真正的> > >模型。树(DecisionTreeRegressionModel…深度=…,DecisionTreeRegressionModel……)> > >验证=火花。createDataFrame(((0.0,向量。密集的(- - - - - -1.0),),…(“索引”,“特征”])> > >模型。evaluateEachIteration(验证)[0.25……,0。23..., 0.21..., 0.19..., 0.18...]> > >模型。numClasses2> > >gbt=gbt。setValidationIndicatorCol(“validationIndicator”)> > >gbt。getValidationIndicatorCol()“validationIndicator”> > >gbt。getValidationTol()0.01
方法
清晰的
(参数)清除参数映射的参数是否被显式地设置。
复制
((额外的))创建这个实例的副本具有相同uid和一些额外的参数。
explainParam
(参数)解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。
返回文档的所有参数选择默认值和用户提供的值。
extractParamMap
((额外的))提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。
适合
(数据集[params))适合一个模型与可选参数的输入数据集。
fitMultiple
(paramMaps数据集)适合一个模型为每个参数映射的输入数据集paramMaps。
得到的价值cacheNodeIds或其默认值。
得到的价值checkpointInterval或其默认值。
得到的价值featureSubsetStrategy或其默认值。
得到的价值featuresCol或其默认值。
杂质的价值或其默认值。
得到的价值labelCol或其默认值。
得到的价值leafCol或其默认值。
得到的价值lossType或其默认值。
得到的价值maxBins或其默认值。
maxDepth的价值或其默认值。
麦克斯特的价值或其默认值。
得到的价值maxMemoryInMB或其默认值。
得到的价值minInfoGain或其默认值。
得到的价值minInstancesPerNode或其默认值。
得到的价值minWeightFractionPerNode或其默认值。
getOrDefault
(参数)得到参数的值在用户提供的参数映射或其默认值。
getParam
(paramName)通过它的名称参数。
得到的价值predictionCol或其默认值。
得到的价值probabilityCol或其默认值。
得到的价值rawPredictionCol或其默认值。
getSeed
()种子的价值或其默认值。
得到的价值stepSize或其默认值。
得到的价值subsamplingRate或其默认值。
得到的值阈值或其默认值。
得到的价值validationIndicatorCol或其默认值。
得到的价值validationTol或其默认值。
得到的价值weightCol或其默认值。
hasDefault
(参数)检查是否一个参数有默认值。
hasParam
(paramName)测试这个实例包含一个参数是否与给定名称(字符串)。
isDefined
(参数)检查参数是否由用户或显式地设置一个默认值。
收取
(参数)检查参数是否由用户显式地设置。
负载
(路径)从输入路径,读取一个毫升实例的快捷方式read () .load(路径)。
读
()返回一个MLReader这个类的实例。
保存
(路径)这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。
集
(参数值)设置一个参数嵌入参数映射。
设置的值
cacheNodeIds
。设置的值
checkpointInterval
。设置的值
featuresCol
。setImpurity
(值)设置的值
杂质
。setLabelCol
(值)设置的值
labelCol
。setLeafCol
(值)设置的值
leafCol
。setLossType
(值)设置的值
lossType
。setMaxBins
(值)设置的值
maxBins
。setMaxDepth
(值)设置的值
maxDepth
。setMaxIter
(值)设置的值
麦克斯特
。设置的值
maxMemoryInMB
。设置的值
minInfoGain
。设置的值
minInstancesPerNode
。setparam
(自我,\ [,labelCol featuresCol…))设置参数的梯度增加树分类。
设置的值
predictionCol
。设置的值
probabilityCol
。设置的值
rawPredictionCol
。setSeed
(值)设置的值
种子
。setStepSize
(值)设置的值
stepSize
。设置的值
subsamplingRate
。设置的值
阈值
。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(指数)。指数值可能不是连续的。
-
-
getCacheNodeIds
( )→bool¶ -
得到的价值cacheNodeIds或其默认值。
-
getCheckpointInterval
( )→int¶ -
得到的价值checkpointInterval或其默认值。
-
getFeatureSubsetStrategy
( )→str¶ -
得到的价值featureSubsetStrategy或其默认值。
-
getFeaturesCol
( )→str¶ -
得到的价值featuresCol或其默认值。
-
getImpurity
( )→str¶ -
杂质的价值或其默认值。
-
getLabelCol
( )→str¶ -
得到的价值labelCol或其默认值。
-
getLeafCol
( )→str¶ -
得到的价值leafCol或其默认值。
-
getLossType
( )→str¶ -
得到的价值lossType或其默认值。
-
getMaxBins
( )→int¶ -
得到的价值maxBins或其默认值。
-
getMaxDepth
( )→int¶ -
maxDepth的价值或其默认值。
-
getMaxIter
( )→int¶ -
麦克斯特的价值或其默认值。
-
getMaxMemoryInMB
( )→int¶ -
得到的价值maxMemoryInMB或其默认值。
-
getMinInfoGain
( )→浮动¶ -
得到的价值minInfoGain或其默认值。
-
getMinInstancesPerNode
( )→int¶ -
得到的价值minInstancesPerNode或其默认值。
-
getMinWeightFractionPerNode
( )→浮动¶ -
得到的价值minWeightFractionPerNode或其默认值。
-
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¶ -
种子的价值或其默认值。
-
getStepSize
( )→浮动¶ -
得到的价值stepSize或其默认值。
-
getSubsamplingRate
( )→浮动¶ -
得到的价值subsamplingRate或其默认值。
-
getThresholds
( )→列表(浮动] ¶ -
得到的值阈值或其默认值。
-
getValidationIndicatorCol
( )→str¶ -
得到的价值validationIndicatorCol或其默认值。
-
getValidationTol
( )→浮动¶ -
得到的价值validationTol或其默认值。
-
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,价值:任何 )→没有¶ -
设置一个参数嵌入参数映射。
-
setCacheNodeIds
( 价值:bool )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
cacheNodeIds
。
-
setCheckpointInterval
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
checkpointInterval
。
-
setFeatureSubsetStrategy
( 价值:str )→pyspark.ml.classification.GBTClassifier ¶
-
setFeaturesCol
( 价值:str )→P¶ -
设置的值
featuresCol
。
-
setImpurity
( 价值:str )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
杂质
。
-
setLossType
( 价值:str )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
lossType
。
-
setMaxBins
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
maxBins
。
-
setMaxDepth
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
maxDepth
。
-
setMaxIter
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
麦克斯特
。
-
setMaxMemoryInMB
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
maxMemoryInMB
。
-
setMinInfoGain
( 价值:浮动 )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
minInfoGain
。
-
setMinInstancesPerNode
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
minInstancesPerNode
。
-
setMinWeightFractionPerNode
( 价值:浮动 )→pyspark.ml.classification.GBTClassifier ¶
-
setparam
( 自我,\ *,featuresCol = "特性",labelCol = "标签",predictionCol = "预测",maxDepth = 5,maxBins = 32,minInstancesPerNode = 1,minInfoGain = 0.0,maxMemoryInMB = 256,cacheNodeIds = False,checkpointInterval = 10,lossType = "物流",麦克斯特= 20,stepSize = 0.1,种子=没有,subsamplingRate = 1.0,杂质=“方差”,featureSubsetStrategy = "所有",validationTol = 0.01,validationIndicatorCol =没有,leafCol = " ",minWeightFractionPerNode = 0.0,weightCol =没有 ) ¶ -
设置参数的梯度增加树分类。
-
setPredictionCol
( 价值:str )→P¶ -
设置的值
predictionCol
。
-
setProbabilityCol
( 价值:str )→P¶ -
设置的值
probabilityCol
。
-
setRawPredictionCol
( 价值:str )→P¶ -
设置的值
rawPredictionCol
。
-
setSeed
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
种子
。
-
setStepSize
( 价值:int )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
stepSize
。
-
setSubsamplingRate
( 价值:浮动 )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
subsamplingRate
。
-
setValidationIndicatorCol
( 价值:str )→pyspark.ml.classification.GBTClassifier ¶
-
setWeightCol
( 价值:str )→pyspark.ml.classification.GBTClassifier ¶ -
设置的值
weightCol
。
-
写
( )→pyspark.ml.util.JavaMLWriter¶ -
返回一个MLWriter实例毫升实例。
属性的文档
-
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 = '叶指数列名。预测叶指数每棵树的每个实例预订。) ¶
-
lossType
=参数(父母=‘定义’,name = ' lossType ', doc = '损失函数GBT试图最小化(不区分大小写)。支持选择:物流”) ¶
-
maxBins
=参数(父母=‘定义’,name = ' maxBins ', doc = '最大数量的垃圾箱离散化连续特性。必须> = 2,> =数量的类别分类特性。”) ¶
-
maxDepth
=参数(父母=‘定义’,name = ' maxDepth ',医生= '树的最大深度。(> = 0)例如,深度0意味着1叶节点;深度1意味着1 + 2叶节点内部节点。必须在区间[0,30]。”) ¶
-
麦克斯特
=参数(父母=‘定义’,name =“麦克斯特”,医生=“马克斯(> = 0)的迭代次数。) ¶
-
maxMemoryInMB
=参数(父母=‘定义’,name = ' maxMemoryInMB ',医生在MB = '最大内存分配给直方图聚合。如果太小,那么1个节点将被分配每个迭代,和它的总量可能超过这个大小。”) ¶
-
minInfoGain
=参数(父母=‘定义’,name = ' minInfoGain ', doc =分割的最小信息增益被认为是在一个树节点。) ¶
-
minInstancesPerNode
=参数(父母=‘定义’,name = ' minInstancesPerNode ', doc = '每个孩子都必须有最小数量的实例后分裂。如果分裂导致左边或者右边的孩子不到minInstancesPerNode,分割将作为无效的被丢弃。应该是> = 1”。) ¶
-
minWeightFractionPerNode
=参数(父母=‘定义’,name = ' minWeightFractionPerNode ', doc = '的最低分数加权样本计数后,每个孩子都必须有分裂。如果一个分裂导致分数总重量的向左或向右孩子小于minWeightFractionPerNode,分割将作为无效的被丢弃。应该在区间[0.0,0.5)。”) ¶
-
参数个数
¶ -
返回所有参数命令的名字。默认实现使用
dir ()
所有的属性类型参数
。
-
predictionCol
=参数(父母=‘定义’,name = ' predictionCol ', doc =预测列名称。) ¶
-
probabilityCol
=参数(父母=‘定义’,name = ' probabilityCol ', doc = '列名为预测类条件概率。注意:并不是所有的模型输出精确校准的概率估计!这些概率应该被视为机密,而不是精确的概率。”) ¶
-
rawPredictionCol
=参数(父母=‘定义’,name = ' rawPredictionCol ', doc =“原始预测(又名信心)列名”。) ¶
-
种子
=参数(父母=‘定义’,name =“种子”,医生=“随机种子。”) ¶
-
stepSize
=参数(父母=‘定义’,name = ' stepSize ', doc = '步长(又名学习速率)在区间(0,1)缩小每个估计量的贡献。”) ¶
-
subsamplingRate
=参数(父母=‘定义’,name = ' subsamplingRate ', doc = '训练数据的一部分用于学习每一个决策树,在范围(0,1]。) ¶
-
supportedFeatureSubsetStrategies
=[‘汽车’,‘所有’,‘onethird’,‘√’,‘log2’) ¶
-
supportedImpurities
=(“方差”) ¶
-
supportedLossTypes
=(“物流”) ¶
-
阈值
=参数(父母=‘定义’,name =“阈值”,医生=“多层次分类阈值调整的概率预测每个类。数组长度必须等于类的数量,最多值> 0,除了一个值可能是0。类最大的值p / t是预测,p是原始类和t的概率是类的门槛。”) ¶
-
validationIndicatorCol
=参数(父母=‘定义’,name = ' validationIndicatorCol ', doc = '的名字列表明每一行是否为培训或验证。错误显示培训;真正显示验证。) ¶
-
validationTol
=参数(父母=‘定义’,name = ' validationTol ', doc = '阈值时停止早符合使用验证。如果错误率小于validationTol验证输入的变化,然后将停止学习早期(“麦克斯特”之前)。使用时,将忽略此参数适合没有验证。) ¶
-
weightCol
=参数(父母=‘定义’,name = ' weightCol ', doc = '体重列名。如果这不是设置或空,我们对所有实例权重为1.0。”) ¶