整洁模型initial_split函数如何处理连续的地层变量?

How does tidymodels initial_split function deal with a strata variable that is continuous?

提问人:Andrew 提问时间:5/12/2021 更新时间:5/13/2021 访问量:1014

问:

使用 R 数据集菱形,我想知道 initial_split 函数如何对连续变量“x”进行分层,以便创建测试和训练集?即initial_split(钻石,概率=0.8,地层=x)。 我读到连续数据“x”按顺序分成箱,但我不知道有多少个箱,或者用户是否可以设置箱的数量?

整洁模型

评论


答:

3赞 EmilHvitfeldt 5/13/2021 #1

initial_split() 在对连续变量进行分层时使用的中断数由参数指定。 默认为 4 个箱。breaksbreaks

library(rsample)
library(ggplot2)
data("diamonds")

initial_split(diamonds, strata = x, breaks = 4)
#> <Analysis/Assess/Total>
#> <40453/13487/53940>

在引擎盖下发生的事情是用于创建一个因子变量,然后用于分层。因子变量将基于百分位数创建,以确保地层的大小大致一致。make_strata()

table(make_strata(diamonds$x, breaks = 4))
#> 
#>    [0,4.71]  (4.71,5.7]  (5.7,6.54] (6.54,10.7] 
#>       13521       13665       13379       13375

table(make_strata(diamonds$x, breaks = 10))
#> 
#>    [0,4.36] (4.36,4.54] (4.54,4.82] (4.82,5.23]  (5.23,5.7]  (5.7,6.08] 
#>        5774        5032        5394        5463        5523        5186 
#> (6.08,6.42]  (6.42,6.7]  (6.7,7.31] (7.31,10.7] 
#>        5407        5429        5458        5274