當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。