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


R hardhat validate_prediction_size 確保預測具有正確的行數


驗證 - 斷言以下內容:

  • pred 的大小必須與 new_data 的大小相同。

檢查 - 返回以下內容:

  • ok 邏輯。檢查通過嗎?

  • size_new_data 單個數字。 new_data 的大小。

  • size_pred 單個數字。 pred 的大小。

用法

validate_prediction_size(pred, new_data)

check_prediction_size(pred, new_data)

參數

pred

一點點。從任何預測 type 返回的預測。這通常是使用 spruce 函數之一創建的,例如 spruce_numeric()

new_data

新預測因子和可能結果的 DataFrame 架。

validate_prediction_size() 以不可見方式返回pred

check_prediction_size() 返回三個組件的命名列表: oksize_new_datasize_pred

細節

此驗證函數更注重開發人員而不是用戶。這是在從特定 predict() 方法返回值之前使用的最終檢查,主要是 "good practice" 健全性檢查,以確保您的預測藍圖始終返回與 new_data 相同的行數,其中是該包試圖推廣的建模約定之一。

驗證

Hardhat 提供兩個級別的驗證函數。

  • check_*() :檢查條件,並返回列表。該列表始終包含至少一個元素 ok ,這是一個指定檢查是否通過的邏輯。每個檢查還在返回的列表中檢查特定元素,可用於構造有意義的錯誤消息。

  • validate_*():檢查條件,如果不通過則出錯。這些函數調用相應的檢查函數,然後提供默認的錯誤消息。如果您作為開發人員想要不同的錯誤消息,請自行調用 check_*() 函數,並提供您自己的驗證函數。

例子

# Say new_data has 5 rows
new_data <- mtcars[1:5, ]

# And somehow you generate predictions
# for those 5 rows
pred_vec <- 1:5

# Then you use `spruce_numeric()` to clean
# up these numeric predictions
pred <- spruce_numeric(pred_vec)

pred
#> # A tibble: 5 × 1
#>   .pred
#>   <int>
#> 1     1
#> 2     2
#> 3     3
#> 4     4
#> 5     5

# Use this check to ensure that
# the number of rows or pred match new_data
check_prediction_size(pred, new_data)
#> $ok
#> [1] TRUE
#> 
#> $size_new_data
#> [1] 5
#> 
#> $size_pred
#> [1] 5
#> 

# An informative error message is thrown
# if the rows are different
try(validate_prediction_size(spruce_numeric(1:4), new_data))
#> Error in validate_prediction_size(spruce_numeric(1:4), new_data) : 
#>   The size of `new_data` (5) must match the size of `pred` (4).
源代碼:R/validation.R

相關用法


注:本文由純淨天空篩選整理自Davis Vaughan等大神的英文原創作品 Ensure that predictions have the correct number of rows。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。