驗證 - 斷言以下內容:
-
pred
的大小必須與new_data
的大小相同。
檢查 - 返回以下內容:
-
ok
邏輯。檢查通過嗎? -
size_new_data
單個數字。new_data
的大小。 -
size_pred
單個數字。pred
的大小。
參數
- pred
-
一點點。從任何預測
type
返回的預測。這通常是使用 spruce 函數之一創建的,例如spruce_numeric()
。 - new_data
-
新預測因子和可能結果的 DataFrame 架。
值
validate_prediction_size()
以不可見方式返回pred
。
check_prediction_size()
返回三個組件的命名列表: ok
、 size_new_data
和 size_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 hardhat validate_predictors_are_numeric 確保預測變量都是數字
- R hardhat validate_column_names 確保數據包含所需的列名
- R hardhat validate_outcomes_are_univariate 確保結果是單變量
- R hardhat validate_no_formula_duplication 確保公式中不出現重複項
- R hardhat validate_outcomes_are_numeric 確保結果都是數字
- R hardhat validate_outcomes_are_binary 確保結果具有二元因子
- R hardhat validate_outcomes_are_factors 確保結果隻有因子列
- R hardhat default_recipe_blueprint 默認配方藍圖
- R hardhat is_blueprint x 是預處理藍圖嗎?
- R hardhat default_formula_blueprint 默認公式藍圖
- R hardhat update_blueprint 更新預處理藍圖
- R hardhat weighted_table 加權表
- R hardhat get_levels 從 DataFrame 中提取因子水平
- R hardhat add_intercept_column 向數據添加截距列
- R hardhat is_frequency_weights x 是頻率權重向量嗎?
- R hardhat model_offset 提取模型偏移
- R hardhat standardize 標準化結果
- R hardhat model_matrix 構建設計矩陣
- R hardhat is_importance_weights x 是重要性權重向量嗎?
- R hardhat run-mold 根據藍圖 Mold()
- R hardhat get_data_classes 從 DataFrame 或矩陣中提取數據類
- R hardhat fct_encode_one_hot 將一個因子編碼為 one-hot 指標矩陣
- R hardhat new_frequency_weights 構建頻率權重向量
- R hardhat default_xy_blueprint 默認 XY 藍圖
- R hardhat shrink 僅對所需列進行子集化
注:本文由純淨天空篩選整理自Davis Vaughan等大神的英文原創作品 Ensure that predictions have the correct number of rows。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。