step_dummy_hash()
創建配方步驟的規範,該步驟將因子或字符列轉換為一係列二進製(或帶符號的二進製)指示符列。
用法
step_dummy_hash(
recipe,
...,
role = "predictor",
trained = FALSE,
columns = NULL,
signed = TRUE,
num_terms = 32L,
collapse = FALSE,
prefix = "dummyhash",
keep_original_cols = FALSE,
skip = FALSE,
id = rand_id("dummy_hash")
)
參數
- recipe
-
一個recipe 對象。該步驟將添加到此配方的操作序列中。
- ...
-
一個或多個選擇器函數用於選擇受該步驟影響的變量。有關更多詳細信息,請參閱
recipes::selections()
。 - role
-
對於此步驟創建的模型項,應為它們分配什麽分析角色?默認情況下,該函數假定由原始變量創建的新列將用作模型中的預測變量。
- trained
-
指示預處理數量是否已估計的邏輯。
- columns
-
將由
terms
參數(最終)填充的變量名稱字符串。在recipes::prep.recipe()
訓練該步驟之前,這是NULL
。 - signed
-
邏輯值,指示是否使用帶符號的hash-function(生成-1、0或1的值),以減少散列時的衝突。默認為 TRUE。
- num_terms
-
一個整數,要輸出的變量數量。默認為 32。
- collapse
-
邏輯性強;是否應該將所有選定的列折疊成單個列以創建一組哈希特征?
- prefix
-
將作為結果新變量的前綴的字符串。請參閱下麵的注釋。
- keep_original_cols
-
將原始變量保留在輸出中的邏輯。默認為
FALSE
。 - skip
-
一個合乎邏輯的。當
recipes::bake.recipe()
烘焙食譜時是否應該跳過此步驟?雖然所有操作都是在recipes::prep.recipe()
運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用skip = FALSE
時應小心。 - id
-
該步驟特有的字符串,用於標識它。
細節
特征散列或散列技巧是將文本變量轉換為一組新的數值變量。這是通過對因子級別的值應用哈希函數並使用哈希值作為特征索引來完成的。這允許數據的低內存表示,並且當定性預測變量具有多個級別或預計在預測期間具有新級別時非常有幫助。此實現是使用 MurmurHash3 方法完成的。
參數 num_terms
控製哈希函數將映射到的索引數量。這是此轉換的調整參數。由於哈希函數可以將兩個不同的標記映射到同一索引,因此 num_terms
的值越高,衝突的可能性就越低。
新組件的名稱以 prefix
開頭,然後是變量名稱,最後是由 -
分隔的標記。變量名稱用零填充。例如,如果 prefix = "hash"
和 num_terms < 10
,則它們的名稱將為 hash1
- hash9
。如果 num_terms = 101
,它們的名稱將為 hash001
- hash101
。
整理
當您tidy()
此步驟時,會出現一個包含列terms
(選擇的選擇器或變量)、value
(是否執行簽名哈希)、num_terms
(項數)和collapse
(其中柱子倒塌了)。
參考
基利安·溫伯格;阿尼班·達斯古普塔;約翰·蘭福德;亞曆克斯·斯莫拉;喬什·阿滕伯格 (2009)。
庫恩和約翰遜 (2019),第 7 章,https://bookdown.org/max/FES/encoding-predictors-with-many-categories.html
也可以看看
來自字符的數字變量的其他步驟:step_sequence_onehot()
、step_textfeature()
相關用法
- R textrecipes step_lemma 標記變量的詞形還原
- R textrecipes step_tokenize_wordpiece 字符變量的Wordpiece標記化
- R textrecipes step_tokenfilter 根據詞頻過濾標記
- R textrecipes step_text_normalization 字符變量的標準化
- R textrecipes step_clean_names 幹淨的變量名稱
- R textrecipes step_tokenize_sentencepiece 字符變量的句子標記化
- R textrecipes step_tokenmerge 將多個令牌變量合並為一個
- R textrecipes step_tf 代幣的使用頻率
- R textrecipes step_tokenize 字符變量的標記化
- R textrecipes step_tfidf 詞頻-令牌的逆文檔頻率
- R textrecipes step_word_embeddings 令牌的預訓練詞嵌入
- R textrecipes step_stem 令牌變量的詞幹
- R textrecipes step_textfeature 計算文本特征集
- R textrecipes step_texthash 代幣的特征哈希
- R textrecipes step_ngram 從標記變量生成 n-gram
- R textrecipes step_stopwords 過濾標記變量的停用詞
- R textrecipes step_pos_filter 令牌變量的語音過濾部分
- R textrecipes step_untokenize 令牌變量的取消令牌化
- R textrecipes step_lda 計算代幣的LDA維度估計
- R textrecipes step_tokenize_bpe 字符變量的 BPE 標記化
- R textrecipes step_clean_levels 清晰的分類級別
- R textrecipes step_sequence_onehot 令牌的位置 One-Hot 編碼
- R textrecipes show_tokens 顯示配方的令牌輸出
- R textrecipes tokenlist 創建令牌對象
- R update_PACKAGES 更新現有的 PACKAGES 文件
注:本文由純淨天空篩選整理自等大神的英文原創作品 Indicator Variables via Feature Hashing。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。