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。”)