FeatureHasher

pyspark.ml.feature。 FeatureHasher ( *,numFeatures:int=262144年,inputCols:可選(列表(str]]=沒有一個,outputCol:可選(str]=沒有一個,categoricalCols:可選(列表(str]]=沒有一個 )

功能散列項目一組分類或指定的數值特征的特征向量維度(通常遠遠小於原始特征空間的)。這是使用哈希技巧(https://en.wikipedia.org/wiki/Feature_hashing)映射特性指標的特征向量。

FeatureHasher變壓器運行在多個列。每一列可能包含數字或分類特性。行為和處理列數據類型如下:

  • 數字列:

    數字特征,使用散列值的列名稱映射特性值的指數的特征向量。默認情況下,數字特征並不視為分類(即使他們是整數)。把他們分類,指定相關的列categoricalCols

  • 字符串列:

    分類特性,字符串的哈希值“column_name =值”是用來映射到矢量指數指標的價值1.0。因此,分類特性是一個炎熱的編碼(同樣使用OneHotEncoderdropLast = false)。

  • 布爾列:

    布爾值作為字符串列以同樣的方式對待。即布爾特征表示為“column_name = true”或“column_name = false”,指標的價值1.0

忽略Null(失蹤)值在生成的特征向量(隱式零)。

由於使用簡單的模變換向量的散列函數指數,建議使用2的冪numFeatures參數;否則將不均勻地映射到的特性向量指標。

例子

> > >數據=((2.0,真正的,“1”,“foo”),(3.0,,“2”,“酒吧”)]> > >關口=(“真正的”,“bool”,“stringNum”,“字符串”]> > >df=火花createDataFrame(數據,關口)> > >切肉機=FeatureHasher()> > >切肉機setInputCols(關口)FeatureHasher……> > >切肉機setOutputCol(“特征”)FeatureHasher……> > >切肉機變換(df)()特性SparseVector (262144 {174475: 2.0, 247670: 1.0, 257907: 1.0, 262126: 1.0})> > >切肉機setCategoricalCols([“真正的”])變換(df)()特性SparseVector (262144 {171257: 1.0, 247670: 1.0, 257907: 1.0, 262126: 1.0})> > >hasherPath=temp_path+“/廚師”> > >切肉機保存(hasherPath)> > >loadedHasher=FeatureHasher負載(hasherPath)> > >loadedHashergetNumFeatures()= =切肉機getNumFeatures()真正的> > >loadedHasher變換(df)()特性= =切肉機變換(df)()特性真正的

方法

清晰的(參數)

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

複製((額外的))

創建這個實例的副本具有相同uid和一些額外的參數。

explainParam(參數)

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

explainParams()

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

extractParamMap((額外的))

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

getCategoricalCols()

二進製的值或其默認值。

getInputCols()

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

getNumFeatures()

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

getOrDefault(參數)

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

getOutputCol()

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

getParam(paramName)

通過它的名稱參數。

hasDefault(參數)

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

hasParam(paramName)

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

isDefined(參數)

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

收取(參數)

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

負載(路徑)

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

()

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

保存(路徑)

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

(參數值)

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

setCategoricalCols(值)

設置的值categoricalCols

setInputCols(值)

設置的值inputCols

setNumFeatures(值)

設置的值numFeatures

setOutputCol(值)

設置的值outputCol

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

為這個FeatureHasher設置參數。

變換(數據集[params))

與可選參數轉換的輸入數據集。

()

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

屬性

categoricalCols

inputCols

numFeatures

outputCol

參數個數

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

方法的文檔

清晰的 ( 參數: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

合並後的參數映射

getCategoricalCols ( )→列表(str]

二進製的值或其默認值。

getInputCols ( )→列表(str]

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

getNumFeatures ( )→int

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

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

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

getOutputCol ( )→str

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

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

通過它的名稱參數。

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

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

setCategoricalCols ( 價值:列表(str] )pyspark.ml.feature.FeatureHasher

設置的值categoricalCols

setInputCols ( 價值:列表(str] )pyspark.ml.feature.FeatureHasher

設置的值inputCols

setNumFeatures ( 價值:int )pyspark.ml.feature.FeatureHasher

設置的值numFeatures

setOutputCol ( 價值:str )pyspark.ml.feature.FeatureHasher

設置的值outputCol

setparam ( 自我,\ *,numFeatures = 1 < < 18歲,inputCols =沒有,outputCol =沒有,categoricalCols =沒有 )

為這個FeatureHasher設置參數。

變換 ( 數據集:pyspark.sql.dataframe.DataFrame,參數個數:可選(ParamMap]=沒有一個 )→pyspark.sql.dataframe.DataFrame

與可選參數轉換的輸入數據集。

參數
數據集 pyspark.sql.DataFrame

輸入數據集

參數個數 東西,可選

一個可選的參數覆蓋嵌入參數的地圖。

返回
pyspark.sql.DataFrame

改變了數據集

( )→pyspark.ml.util.JavaMLWriter

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

屬性的文檔

categoricalCols :pyspark.ml.param.Param(列表(str)) =參數(父母=‘定義’,name = ' categoricalCols ', doc =數字列治療作為分類)
inputCols =參數(父母=‘定義’,name = ' inputCols ', doc =輸入列名稱。)
numFeatures =參數(父母=‘定義’,name = ' numFeatures ', doc = '的功能。應該大於0。”)
outputCol =參數(父母=‘定義’,name = ' outputCol ', doc =輸出列名稱。)
參數個數

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