step_collapse_cart()
創建配方步驟的規範,可以使用監督樹將因子級別折疊成更小的集合。
用法
step_collapse_cart(
recipe,
...,
role = NA,
trained = FALSE,
outcome = NULL,
cost_complexity = 1e-04,
min_n = 5,
results = NULL,
skip = FALSE,
id = rand_id("step_collapse_cart")
)
參數
- recipe
-
一個菜譜對象。該步驟將添加到此配方的操作序列中。
- ...
-
一個或多個選擇器函數用於選擇受該步驟影響的變量。有關更多詳細信息,請參閱
selections()
。對於tidy
方法,當前未使用這些。 - role
-
由於沒有創建新變量,因此此步驟未使用。
- trained
-
指示預處理數量是否已估計的邏輯。
- outcome
-
調用
vars
來指定使用哪個變量作為訓練 CART 模型的結果,以便匯集因子水平。 - cost_complexity
-
一個非負值,用於調節修剪發生時樹的複雜性。接近 0.1 的值通常對應於具有單個拆分的樹。零值對應於未修剪的樹。
- min_n
-
一個整數,表示在樹生長過程中需要多少個數據點才能進行進一步分割。較大的值對應於不太複雜的樹。
- results
-
要轉換為新因子水平的結果列表。
- skip
-
一個合乎邏輯的。當
bake()
烘焙食譜時是否應該跳過此步驟?雖然所有操作都是在prep()
運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用skip = TRUE
時應小心,因為它可能會影響後續操作的計算 - id
-
該步驟特有的字符串,用於標識它。
細節
此步驟使用 CART 樹(分類或回歸)將現有因子水平分組為可能更小的集合。它更改因子預測器中的級別(並且可以使用 tidy()
方法來理解翻譯)。
有幾種不同的方法可以使該步驟無法崩潰級別。如果模型失敗,或者結果的每個水平都處於其自己的分割中,則保留原始因子水平。還存在“不允許的分割”的情況,這意味著模型無法在數據中找到任何信號。
整理
當您 tidy()
這一步時,會出現一個包含列 "terms"
(正在修改的列)、 "old"
(舊級別)、 "new"
(新級別)和 "id"
的小標題。如果 CART 模型失敗或無法找到良好的分割,則請求的預測變量將不會出現在結果中。
例子
data(ames, package = "modeldata")
ames$Sale_Price <- log10(ames$Sale_Price)
rec <-
recipe(Sale_Price ~ ., data = ames) %>%
step_collapse_cart(
Sale_Type, Garage_Type, Neighborhood,
outcome = vars(Sale_Price)
) %>%
prep()
tidy(rec, number = 1)
#> # A tibble: 45 × 4
#> terms old new id
#> <chr> <chr> <chr> <chr>
#> 1 Sale_Type "ConLD" Sale_Type_1 step_collapse_cart_MXao4
#> 2 Sale_Type "ConLw" Sale_Type_1 step_collapse_cart_MXao4
#> 3 Sale_Type "Oth" Sale_Type_1 step_collapse_cart_MXao4
#> 4 Sale_Type "COD" Sale_Type_2 step_collapse_cart_MXao4
#> 5 Sale_Type "VWD" Sale_Type_2 step_collapse_cart_MXao4
#> 6 Sale_Type "ConLI" Sale_Type_3 step_collapse_cart_MXao4
#> 7 Sale_Type "WD " Sale_Type_4 step_collapse_cart_MXao4
#> 8 Sale_Type "CWD" Sale_Type_5 step_collapse_cart_MXao4
#> 9 Sale_Type "Con" Sale_Type_6 step_collapse_cart_MXao4
#> 10 Sale_Type "New" Sale_Type_7 step_collapse_cart_MXao4
#> # ℹ 35 more rows
相關用法
- R embed step_collapse_stringdist 使用 stringdist 的折疊因子級別
- R embed step_umap 有監督和無監督均勻流形逼近和投影 (UMAP)
- R embed step_pca_truncated 截斷的 PCA 信號提取
- R embed step_lencode_glm 使用似然編碼將監督因子轉換為線性函數
- R embed step_pca_sparse 稀疏PCA信號提取
- R embed step_lencode_bayes 使用貝葉斯似然編碼將監督因子轉換為線性函數
- R embed step_discretize_xgb 使用 XgBoost 離散數值變量
- R embed step_pca_sparse_bayes 稀疏貝葉斯 PCA 信號提取
- R embed step_lencode_mixed 使用貝葉斯似然編碼將監督因子轉換為線性函數
- R embed step_embed 將因子編碼到多列中
- R embed step_woe 證據權重變換
- R embed step_discretize_cart 使用 CART 離散數值變量
- R embed step_feature_hash 通過特征哈希創建虛擬變量
- R embed dictionary 證據權重詞典
- R embed is_tf_available 測試一下tensorflow是否可用
- R embed add_woe 在 DataFrame 中添加 WoE
- R SparkR eq_null_safe用法及代碼示例
- R SparkR except用法及代碼示例
- R SparkR explain用法及代碼示例
- R SparkR exceptAll用法及代碼示例
- R dtrMatrix-class 三角形稠密數值矩陣
- R vcov.gam 從 GAM 擬合中提取參數(估計器)協方差矩陣
- R gam.check 擬合 gam 模型的一些診斷
- R ggplot2 annotation_logticks 注釋:記錄刻度線
- R matrix轉list用法及代碼示例
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Supervised Collapsing of Factor Levels。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。