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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。