ChiSqSelector

pyspark.ml.feature。 ChiSqSelector ( *,numTopFeatures:int=50,featuresCol:str=“特性”,outputCol:可选(str]=没有一个,labelCol:str=“标签”,selectorType:str=“numTopFeatures”,百分位:浮动=0.1,玻璃钢:浮动=0.05,罗斯福:浮动=0.05,fwe:浮动=0.05 )

卡方特征选择,选择分类特征用于预测分类标签。选择器支持不同的选择方法:numTopFeatures,百分位,玻璃钢,罗斯福,fwe

  • numTopFeatures选择一个固定数量的高级特性根据卡方测试。

  • 百分位相似但选择所有功能的一小部分,而不是一个固定的数字。

  • 玻璃钢选择所有特性的假定值低于一个阈值,从而控制选择的假阳性率。

  • 罗斯福使用Benjamini-Hochberg过程选择所有功能的错误发现率低于一个阈值。

  • fwe选择假定值低于一个阈值的所有功能。阈值由1 / numFeatures扩展,从而控制选择的family-wise错误率。

默认情况下,选择方法numTopFeatures,使用默认的特性设置为50。

使用UnivariateFeatureSelector

例子

> > >pyspark.ml.linalg进口向量> > >df=火花createDataFrame(((向量密集的([0.0,0.0,18.0,1.0]),1.0),(向量密集的([0.0,1.0,12.0,0.0]),0.0),(向量密集的([1.0,0.0,15.0,0.1]),0.0)),(“特征”,“标签”])> > >选择器=ChiSqSelector(numTopFeatures=1,outputCol=“selectedFeatures”)> > >模型=选择器适合(df)> > >模型getFeaturesCol()“特性”> > >模型setFeaturesCol(“特征”)ChiSqSelectorModel……> > >模型变换(df)()selectedFeaturesDenseVector ([18.0])> > >模型selectedFeatures[2]> > >chiSqSelectorPath=temp_path+“/ chi-sq-selector”> > >选择器保存(chiSqSelectorPath)> > >loadedSelector=ChiSqSelector负载(chiSqSelectorPath)> > >loadedSelectorgetNumTopFeatures()= =选择器getNumTopFeatures()真正的> > >modelPath=temp_path+“/ chi-sq-selector-model”> > >模型保存(modelPath)> > >loadedModel=ChiSqSelectorModel负载(modelPath)> > >loadedModelselectedFeatures= =模型selectedFeatures真正的> > >loadedModel变换(df)(1)= =模型变换(df)(1)真正的

方法

清晰的(参数)

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

复制((额外的))

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

explainParam(参数)

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

explainParams()

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

extractParamMap((额外的))

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

适合(数据集[params))

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

fitMultiple(paramMaps数据集)

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

getFdr()

得到罗斯福的价值或其默认值。

getFeaturesCol()

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

getFpr()

玻璃钢的价值或其默认值。

getFwe()

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

getLabelCol()

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

getNumTopFeatures()

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

getOrDefault(参数)

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

getOutputCol()

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

getParam(paramName)

通过它的名称参数。

getPercentile()

百分位的价值或其默认值。

getSelectorType()

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

hasDefault(参数)

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

hasParam(paramName)

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

isDefined(参数)

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

收取(参数)

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

负载(路径)

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

()

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

保存(路径)

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

(参数值)

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

setFdr(值)

设置的值罗斯福

setFeaturesCol(值)

设置的值featuresCol

setFpr(值)

设置的值玻璃钢

setFwe(值)

设置的值fwe

setLabelCol(值)

设置的值labelCol

setNumTopFeatures(值)

设置的值numTopFeatures

setOutputCol(值)

设置的值outputCol

setparam(自我\ * (numTopFeatures,…))

为这个ChiSqSelector设置参数。

setPercentile(值)

设置的值百分位

setSelectorType(值)

设置的值selectorType

()

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

属性

罗斯福

featuresCol

玻璃钢

fwe

labelCol

numTopFeatures

outputCol

参数个数

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

百分位

selectorType

方法的文档

清晰的 ( 参数: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(指数)指数值可能不是连续的。

getFdr ( )→浮动

得到罗斯福的价值或其默认值。

getFeaturesCol ( )→str

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

getFpr ( )→浮动

玻璃钢的价值或其默认值。

getFwe ( )→浮动

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

getLabelCol ( )→str

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

getNumTopFeatures ( )→int

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

getOrDefault ( 参数:联盟(str,pyspark.ml.param.Param(T]] )→联盟(任何,T]

得到参数的值在用户提供的参数映射或其默认值。如果没有设置提出了一个错误。

getOutputCol ( )→str

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

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

通过它的名称参数。

getPercentile ( )→浮动

百分位的价值或其默认值。

getSelectorType ( )→str

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

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

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

setFdr ( 价值:浮动 )→P

设置的值罗斯福。只适用于当selectorType =“罗斯福”。

setFeaturesCol ( 价值:str )→P

设置的值featuresCol

setFpr ( 价值:浮动 )→P

设置的值玻璃钢。只适用于当selectorType =“玻璃钢”。

setFwe ( 价值:浮动 )→P

设置的值fwe。只适用于当selectorType =“fwe”。

setLabelCol ( 价值:str )→P

设置的值labelCol

setNumTopFeatures ( 价值:int )→P

设置的值numTopFeatures。只适用于当selectorType =“numTopFeatures”。

setOutputCol ( 价值:str )→P

设置的值outputCol

setparam ( 自我,\ *,numTopFeatures = 50,featuresCol = "特性",outputCol =没有,labelCol = "标签",selectorType = " numTopFeatures ",百分位= 0.1,玻璃钢= 0.05,罗斯福= 0.05,fwe = 0.05 )

为这个ChiSqSelector设置参数。

setPercentile ( 价值:浮动 )→P

设置的值百分位。只适用于当selectorType =“百分比”。

setSelectorType ( 价值:str )→P

设置的值selectorType

( )→pyspark.ml.util.JavaMLWriter

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

属性的文档

罗斯福 =参数(父母=‘定义’,name =“罗斯福”,医生=预期的错误发现率的上界。”)
featuresCol =参数(父母=‘定义’,name = ' featuresCol ', doc =功能列名称。)
玻璃钢 =参数(父母=‘定义’,name =“玻璃钢”,医生=的假定值最高的特性。”)
fwe =参数(父母=‘定义’,name = ' fwe ', doc =预期family-wise错误率的上限。”)
labelCol =参数(父母=‘定义’,name = ' labelCol ', doc =“标签列名。”)
numTopFeatures =参数(父母=‘定义’,name = ' numTopFeatures ', doc = '的功能选择器将选择,下令升序假定值。如果功能的数量< numTopFeatures,那么这将选择所有功能。”)
outputCol =参数(父母=‘定义’,name = ' outputCol ', doc =输出列名称。)
参数个数

返回所有参数命令的名字。默认实现使用dir ()所有的属性类型参数

百分位 =参数(父母=‘定义’,name =“百分比”,医生=“百分位的功能选择器将选择,提升下令假定值。)
selectorType =参数(父母=‘定义’,name = ' selectorType ', doc = '选择器类型。支持选择:numTopFeatures(默认),百分位,玻璃钢,罗斯福,fwe。”)