当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R spatialsample spatial_block_cv 空间块交叉验证


块交叉验证将数据区域分割为多个网格单元,或"blocks",然后根据其质心所属的块将所有数据分配到折叠中。

用法

spatial_block_cv(
  data,
  method = c("random", "snake", "continuous"),
  v = 10,
  relevant_only = TRUE,
  radius = NULL,
  buffer = NULL,
  ...,
  repeats = 1
)

参数

data

sfsfc 的对象。

method

用于交叉验证折叠的样本块的方法。目前支持 "random" ,它将块随机分配给折叠, "snake" ,从左到右标记第一行块,然后从右到左标记下一行,并从那里重复,以及 "continuous" ,标记每个块从左到右排,从底排向上移动。

v

重采样的分区数。设置为 NULLInf 作为最大合理值(用于 leave-one-X-out 交叉验证)。

relevant_only

对于系统抽样,是否只应将包含数据的块包含在折叠标签中?

radius

数字:initially-selected 测试点的此距离内的点将被分配到评估集。如果 NULL ,则不应用半径。

buffer

数字:测试集中任何点的此距离内的点(应用 radius 后)将不会分配给分析集或评估集。如果 NULL ,则不应用缓冲区。

...

传递给 sf::st_make_grid() 的参数。

repeats

重复 V-fold 分区的次数。

带有类 spatial_block_cvspatial_rsetrsettbl_dftbldata.frame 的 tibble。结果包括数据分割对象的列和标识变量 id

细节

可以通过 ... 将参数传递给 sf::st_make_grid() 来控制网格块。一些特别有用的论点包括:

  • cellsize:目标像元大小,以Map单位表示为每个块的"diameter"(相对边之间最短的straight-line距离;两倍边心距)。

  • n :x 和 y 方向上的网格块数(列、行)。

  • square :一个逻辑值,指示是否创建正方形 ( TRUE ) 还是六边形 ( FALSE ) 单元格。

如果同时提供了 cellsizen ,则将返回 n 请求的、大小由 cellsize 指定的块数,可能与 data 的边界框不对齐。如果仅提供 cellsize ,则此函数将返回 data 边界框内尽可能多的大小为 cellsize 的块。如果仅提供n,则cellsize将自动调整以创建请求的单元格数量。

参考

D. R. Roberts、V. Bahn、S. Ciuti、M. S. Boyce、J. Elith、G. Guillera-Arroita、S. Hauenstein、J. J. Lahoz-Monfort、B. Schröder、W. Thuiller、D. I. Warton、B. A. Wintle、F. Hartig ,和 C. F. 多尔曼。 “具有时间、空间、层次或系统发育结构的数据的交叉验证策略”,2016 年,生态学 40(8),第 913-929 页,doi:10.1111/ecog.02881。

例子


spatial_block_cv(boston_canopy, v = 3)
#> #  3-fold spatial block cross-validation 
#> # A tibble: 3 × 2
#>   splits            id   
#>   <list>            <chr>
#> 1 <split [438/244]> Fold1
#> 2 <split [476/206]> Fold2
#> 3 <split [450/232]> Fold3

相关用法


注:本文由纯净天空筛选整理自Michael Mahoney等大神的英文原创作品 Spatial block cross-validation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。