QuantileDiscretizer
pyspark.ml.feature。 QuantileDiscretizer ( *,numBuckets:int=2,inputCol:可选(str]=没有一个,outputCol:可选(str]=没有一个,relativeError:浮动=0.001,handleInvalid:str=“错误”,numBucketsArray:可选(列表(int]]=没有一个,inputCols:可选(列表(str]]=没有一个,outputCols:可选(列表(str]]=没有一个 ) QuantileDiscretizer获取一列一列连续特性和输出与被分类特性。箱子的数量可以设置使用numBuckets参数。桶的数量可能会小于这个值使用,例如,如果有太少的不同值的输入创造足够的不同分位数。3.0.0以来,QuantileDiscretizer一次可以映射多个列通过设置inputCols参数。如果两个的inputColinputCols参数设置,就会抛出一个异常。为每一列,指定桶的数量numBucketsArray参数可以设置,或者桶的数量应该是一样的在列,numBuckets可以设置为一个方便。

笔记

南处理:也要注意QuantileDiscretizer将提高一个错误当找到NaN值的数据集,但是用户也可以选择保留或删除NaN值在数据集通过设置handleInvalid参数。如果用户选择保留NaN值,它们将被特别处理,放置到自己的水桶,例如,如果使用了4桶,然后non-NaN数据将被放入水桶(0 - 3),但NaN将计算在一个特殊的桶[4]。

算法:本范围选择使用一个近似算法(参见文档approxQuantile ()详细描述)。近似的精度可以控制relativeError参数。上下本界限+∞,覆盖所有真实值。

例子

> > >=((0.1),(0.4),(1.2),(1.5),(浮动(“南”),),(浮动(“南”),)> > >df1=火花createDataFrame(,(“价值观”])> > >qds1=QuantileDiscretizer(inputCol=“价值观”,outputCol=“桶”)> > >qds1setNumBuckets(2)QuantileDiscretizer……> > >qds1setRelativeError(0.01)QuantileDiscretizer……> > >qds1setHandleInvalid(“错误”)QuantileDiscretizer……> > >qds1getRelativeError()0.01> > >bucketizer=qds1适合(df1)> > >qds1setHandleInvalid(“保持”)适合(df1)变换(df1)()6> > >qds1setHandleInvalid(“跳过”)适合(df1)变换(df1)()4> > >分裂=bucketizergetSplits()> > >分裂(0]> > >打印(% 2.1度%(分裂(1),1))0.4> > >=bucketizer变换(df1)()> > >0.0> > >quantileDiscretizerPath=temp_path+“/ quantile-discretizer”> > >qds1保存(quantileDiscretizerPath)> > >loadedQds=QuantileDiscretizer负载(quantileDiscretizerPath)> > >loadedQdsgetNumBuckets()= =qds1getNumBuckets()真正的> > >输入=((0.1,0.0),(0.4,1.0),(1.2,1.3),(1.5,1.5),(浮动(“南”),浮动(“南”)),(浮动(“南”),浮动(“南”)))> > >df2=火花createDataFrame(输入,(“input1”,“input2”])> > >qds2=QuantileDiscretizer(relativeError=0.01,handleInvalid=“错误”,numBuckets=2,inputCols=(“input1”,“input2”),outputCols=(“output1”,“output2”])> > >qds2getRelativeError()0.01> > >qds2setHandleInvalid(“保持”)适合(df2)变换(df2)显示()+ - - - - - - - - - - - - + - - - - - - - - - - - - - - +| input1 | input2 | output1 | output2 |+ - - - - - - - - - - - - + - - - - - - - - - - - - - - +| 0.1 | 0.0 | 0.0 | 0.0 || 0.4 | 1.0 | 1.0 | 1.0 || 1.2 | 1.3 | 1.0 | 1.0 || 1.5 | 1.5 | 1.0 | 1.0 || |南南| 2.0 | 2.0 || |南南| 2.0 | 2.0 |+ - - - - - - - - - - - - + - - - - - - - - - - - - - - +> > >qds3=QuantileDiscretizer(relativeError=0.01,handleInvalid=“错误”,numBucketsArray=(5,10),inputCols=(“input1”,“input2”),outputCols=(“output1”,“output2”])> > >qds3setHandleInvalid(“跳过”)适合(df2)变换(df2)显示()+ - - - - - - - - - - - - + - - - - - - - - - - - - - - +| input1 | input2 | output1 | output2 |+ - - - - - - - - - - - - + - - - - - - - - - - - - - - +| 0.1 | 0.0 | 1.0 | 1.0 || 0.4 | 1.0 | 2.0 | 2.0 || 1.2 | 1.3 | 3.0 | 3.0 || 1.5 | 1.5 | 4.0 | 4.0 |+ - - - - - - - - - - - - + - - - - - - - - - - - - - - +

方法

清晰的(参数)

清除参数映射的参数是否被显式地设置。

复制((额外的))

创建这个实例的副本具有相同uid和一些额外的参数。

explainParam(参数)

解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。

explainParams()

返回文档的所有参数选择默认值和用户提供的值。

extractParamMap((额外的))

提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。

适合(数据集[params))

适合一个模型与可选参数的输入数据集。

fitMultiple(paramMaps数据集)

适合一个模型为每个参数映射的输入数据集paramMaps

getHandleInvalid()

得到的价值handleInvalid或其默认值。

getInputCol()

得到的价值inputCol或其默认值。

getInputCols()

得到的价值inputCols或其默认值。

getNumBuckets()

得到的价值numBuckets或其默认值。

getNumBucketsArray()

得到的价值numBucketsArray或其默认值。

getOrDefault(参数)

得到参数的值在用户提供的参数映射或其默认值。

getOutputCol()

得到的价值outputCol或其默认值。

getOutputCols()

得到的价值outputCols或其默认值。

getParam(paramName)

通过它的名称参数。

getRelativeError()

得到的价值relativeError或其默认值。

hasDefault(参数)

检查是否一个参数有默认值。

hasParam(paramName)

测试这个实例包含一个参数是否与给定名称(字符串)。

isDefined(参数)

检查参数是否由用户或显式地设置一个默认值。

收取(参数)

检查参数是否由用户显式地设置。

负载(路径)

从输入路径,读取一个毫升实例的快捷方式read () .load(路径)

()

返回一个MLReader这个类的实例。

保存(路径)

这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。

(参数值)

设置一个参数嵌入参数映射。

setHandleInvalid(值)

设置的值handleInvalid

setInputCol(值)

设置的值inputCol

setInputCols(值)

设置的值inputCols

setNumBuckets(值)

设置的值numBuckets

setNumBucketsArray(值)

设置的值numBucketsArray

setOutputCol(值)

设置的值outputCol

setOutputCols(值)

设置的值outputCols

setparam(自我,\ [,inputCol numBuckets…))

QuantileDiscretizer设置参数

setRelativeError(值)

设置的值relativeError

()

返回一个MLWriter实例毫升实例。

属性

handleInvalid

inputCol

inputCols

numBuckets

numBucketsArray

outputCol

outputCols

参数个数

返回所有参数命令的名字。

relativeError

方法的文档

清晰的 ( 参数:)→没有
复制 ( 额外的:可选(ParamMap]=没有一个 )→摩根大通
参数
额外的 东西,可选

额外参数复制到新实例

返回
JavaParams

这个实例的副本

explainParam ( 参数:联盟(str,] )→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,] ]
参数
数据集 pyspark.sql.DataFrame

输入数据集。

paramMaps collections.abc.Sequence

一系列的参数映射。

返回
_FitMultipleIterator

一个线程安全的iterable包含为每个参数映射模型。每次调用下一个(modelIterator)将返回(指数模型)模型是适合使用在哪里paramMaps(指数)指数值可能不是连续的。

getHandleInvalid ( )→str
getInputCol ( )→str
getInputCols ( )→列表(str]
getNumBuckets ( )→int
getNumBucketsArray ( )→列表(int]
getOrDefault ( 参数:联盟(str,(T]] )→联盟(任何,T]
getOutputCol ( )→str
getOutputCols ( )→列表(str]
getParam ( paramName:str )
getRelativeError ( )→浮动
hasDefault ( 参数:联盟(str,(任何]] )→bool
hasParam ( paramName:str )→bool
isDefined ( 参数:联盟(str,(任何]] )→bool
收取 ( 参数:联盟(str,(任何]] )→bool
classmethod 负载 ( 路径:str )→RL
classmethod ( )→pyspark.ml.util.JavaMLReader(RL]
保存 ( 路径:str )→没有
( 参数:价值:任何 )→没有
setHandleInvalid ( 价值:str )handleInvalid

setInputCol ( 价值:str )inputCol

setInputCols ( 价值:列表(str] )inputCols

setNumBuckets ( 价值:int )numBuckets

setNumBucketsArray ( 价值:列表(int] )numBucketsArray

setOutputCol ( 价值:str )outputCol

setOutputCols ( 价值:列表(str] )outputCols

setparam ( 自我,\ *,numBuckets = 2,inputCol =没有,outputCol =没有,relativeError = 0.001,handleInvalid = "错误",numBucketsArray =没有,inputCols =没有,outputCols =没有 )
setRelativeError ( 价值:浮动 )relativeError

( )→pyspark.ml.util.JavaMLWriter属性的文档

handleInvalid :pyspark.ml.param.Param (str) =参数(父母=‘定义’,name = ' handleInvalid ', doc = "如何处理无效的条目。选项跳过(过滤掉行无效值),错误(抛出一个错误),或保持(无效值保存在一个特殊的附加桶)。注意,在多个列的情况下,无效的处理是适用于所有列。说“错误”,它将抛出一个错误——如果任何被发现在任何列,“跳过”它会跳过行中与任何问题的任何列,等。”)
inputCol =参数(父母=‘定义’,name = ' inputCol ', doc =输入列名称。)
inputCols =参数(父母=‘定义’,name = ' inputCols ', doc =输入列名称。)
numBuckets :pyspark.ml.param.Param (int) =参数(父母=‘定义’,name = ' numBuckets ', doc = '最大数量的桶(分位数,或类别),数据点进行分组。必须> = 2。)
numBucketsArray :pyspark.ml.param.Param(列表(int)) =参数(父母=‘定义’,name = ' numBucketsArray ', doc = '数组桶的数量(分位数,或类别),数据点进行分组。这是多个列输入。如果将多个列和numBucketsArray没有设置,但numBuckets设置,那么numBuckets将被应用在所有列。”)
outputCol =参数(父母=‘定义’,name = ' outputCol ', doc =输出列名称。)
outputCols =参数(父母=‘定义’,name = ' outputCols ', doc =输出列名称。)
参数个数 dir ()所有的属性类型参数

relativeError =参数(父母=‘定义’,name = ' relativeError ', doc = '相对目标精度的近似算法分位数。必须在[0,1]”)

以前的

PolynomialExpansion

下一个

RobustScaler