step_depth()
创建配方步骤的规范,该步骤将数字数据转换为数据深度的测量值。这是针对分类类变量的每个值完成的。
用法
step_depth(
recipe,
...,
class,
role = "predictor",
trained = FALSE,
metric = "halfspace",
options = list(),
data = NULL,
prefix = "depth_",
keep_original_cols = TRUE,
skip = FALSE,
id = rand_id("depth")
)
参数
- recipe
-
一个菜谱对象。该步骤将添加到此配方的操作序列中。
- ...
-
一个或多个选择器函数用于为此步骤选择变量。有关更多详细信息,请参阅
selections()
。 - class
-
指定要用作类的单个分类变量的单个字符串。
- role
-
对于此步骤创建的模型项,应为其分配什么分析角色?默认情况下,此步骤根据原始变量创建的新列将用作模型中的预测变量。
- trained
-
指示预处理数量是否已估计的逻辑。
- metric
-
指定深度度量的字符串。可能的值为"potential"、"halfspace"、"Mahalanobis"、"simplicialVolume"、"spatial" 和"zonoid"。
- options
-
要传递给底层深度函数的选项列表。请参阅
ddalpha::depth.halfspace()
,ddalpha::depth.Mahalanobis()
,ddalpha::depth.potential()
,ddalpha::depth.projection()
,ddalpha::depth.simplicial()
,ddalpha::depth.simplicialVolume()
,ddalpha::depth.spatial()
,ddalpha::depth.zonoid()
。 - data
-
prep()
执行后,训练数据就存储在这里。 - prefix
-
生成的新变量的前缀字符串。请参阅下面的注释。
- keep_original_cols
-
将原始变量保留在输出中的逻辑。默认为
FALSE
。 - skip
-
一个合乎逻辑的。当
bake()
烘焙食谱时是否应该跳过此步骤?虽然所有操作都是在prep()
运行时烘焙的,但某些操作可能无法对新数据进行(例如处理结果变量)。使用skip = TRUE
时应小心,因为它可能会影响后续操作的计算。 - id
-
该步骤特有的字符串,用于标识它。
细节
数据深度指标试图衡量数据点与其分布中心的接近程度。计算深度的方法有很多种,但一个简单的例子是数据点到分布质心的距离的倒数。一般来说,较小的值表示数据点不靠近质心。 step_depth
可以根据新值与训练集分布的接近程度来计算新数据点的特定于类的深度。
此步骤需要德阿尔法包。如果未安装,该步骤将停止并显示有关安装包的注释。
请注意,保存整个训练集以计算未来的深度值。保存的数据已经过训练(即准备)和烘焙(即处理),直到 step_depth
在配方中占据的位置之前的位置。此外,不同步骤方法的数据要求可能会有所不同。例如,使用 metric = "Mahalanobis"
要求每个类至少具有与 terms
参数中列出的变量一样多的行。
该函数将为 class
变量的每个唯一值创建一个新列。生成的变量不会替换原始值,并且默认情况下具有前缀 depth_
。可以使用prefix
参数更改命名格式。
整理
当您 tidy()
此步骤时,将返回包含列 terms
(选定的选择器或变量)和 class
的 tibble。
也可以看看
其他多元变换步骤:step_classdist_shrunken()
, step_classdist()
, step_geodist()
, step_ica()
, step_isomap()
, step_kpca_poly()
, step_kpca_rbf()
, step_kpca()
, step_mutate_at()
, step_nnmf_sparse()
, step_nnmf()
, step_pca()
, step_pls()
, step_ratio()
, step_spatialsign()
例子
# halfspace depth is the default
rec <- recipe(Species ~ ., data = iris) %>%
step_depth(all_numeric_predictors(), class = "Species")
# use zonoid metric instead
# also, define naming convention for new columns
rec <- recipe(Species ~ ., data = iris) %>%
step_depth(all_numeric_predictors(),
class = "Species",
metric = "zonoid", prefix = "zonoid_"
)
rec_dists <- prep(rec, training = iris)
dists_to_species <- bake(rec_dists, new_data = iris)
dists_to_species
#> # A tibble: 150 × 8
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species zonoid_setosa
#> <dbl> <dbl> <dbl> <dbl> <fct> <dbl>
#> 1 5.1 3.5 1.4 0.2 setosa 0.559
#> 2 4.9 3 1.4 0.2 setosa 0.167
#> 3 4.7 3.2 1.3 0.2 setosa 0.299
#> 4 4.6 3.1 1.5 0.2 setosa 0.170
#> 5 5 3.6 1.4 0.2 setosa 0.391
#> 6 5.4 3.9 1.7 0.4 setosa 0.0838
#> 7 4.6 3.4 1.4 0.3 setosa 0.0200
#> 8 5 3.4 1.5 0.2 setosa 0.645
#> 9 4.4 2.9 1.4 0.2 setosa 0.0200
#> 10 4.9 3.1 1.5 0.1 setosa 0.0200
#> # ℹ 140 more rows
#> # ℹ 2 more variables: zonoid_versicolor <dbl>, zonoid_virginica <dbl>
tidy(rec, number = 1)
#> # A tibble: 1 × 3
#> terms class id
#> <chr> <chr> <chr>
#> 1 all_numeric_predictors() NA depth_eCCL8
tidy(rec_dists, number = 1)
#> # A tibble: 4 × 3
#> terms class id
#> <chr> <chr> <chr>
#> 1 Sepal.Length Species depth_eCCL8
#> 2 Sepal.Width Species depth_eCCL8
#> 3 Petal.Length Species depth_eCCL8
#> 4 Petal.Width Species depth_eCCL8
相关用法
- R recipes step_discretize 离散数值变量
- R recipes step_dummy_multi_choice 一起处理多个预测变量的水平
- R recipes step_date 日期特征生成器
- R recipes step_dummy 创建传统的虚拟变量
- R recipes step_dummy_extract 从名义数据中提取模式
- R recipes step_unknown 将缺失的类别分配给“未知”
- R recipes step_relu 应用(平滑)修正线性变换
- R recipes step_poly_bernstein 广义伯恩斯坦多项式基
- R recipes step_impute_knn 通过 k 最近邻进行插补
- R recipes step_impute_mean 使用平均值估算数值数据
- R recipes step_inverse 逆变换
- R recipes step_pls 偏最小二乘特征提取
- R recipes step_ratio 比率变量创建
- R recipes step_geodist 两个地点之间的距离
- R recipes step_nzv 近零方差滤波器
- R recipes step_nnmf 非负矩阵分解信号提取
- R recipes step_normalize 中心和比例数值数据
- R recipes step_other 折叠一些分类级别
- R recipes step_harmonic 添加正弦和余弦项以进行谐波分析
- R recipes step_corr 高相关滤波器
- R recipes step_novel 新因子水平的简单赋值
- R recipes step_select 使用 dplyr 选择变量
- R recipes step_regex 检测正则表达式
- R recipes step_spline_b 基础样条
- R recipes step_window 移动窗口函数
注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Data Depths。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。