验证 - 断言以下内容:
-
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。