首页 文章

R插入符模型评估与备用性能指标

提问于
浏览
7

我正在使用R的插入符号包进行网格搜索和模型评估 . 我有一个自定义评估指标,它是绝对误差的加权平均值 . 权重在观察级别分配 .

X <- c(1,1,2,0,1) #feature 1
w <- c(1,2,2,1,1) #weights
Y <- 1:5 #target, continuous

#assume I run a model using X as features and Y as target and get a vector of predictions

mymetric <- function(predictions, target, weights){

v <- sum(abs(target-predictions)*weights)/sum(weights) 
return(v)
}

Here给出了如何使用summaryFunction为插入符号列()定义自定义评估指标的示例 . 报价:

trainControl函数有一个名为summaryFunction的参数,它指定用于计算性能的函数 . 该函数应具有以下参数:

data是数据框或矩阵的参考,其中包含名为obs和pred的列,用于观察和预测的结果值(回归的数字数据或分类的字符值) . 目前,类概率不会传递给函数 . 数据中的值是单个调整参数组合的保持预测(及其相关参考值) . 如果trainControl对象的classProbs参数设置为TRUE,则将显示包含类概率的数据中的其他列 . 这些列的名称与类级别相同 . lev是一个字符串,其结果因子级别取自训练数据 . 对于回归,将NULL值传递给函数 . model是正在使用的模型的字符串(即传递给train的method参数的值) .

我无法弄清楚如何将观察权重传递给summaryFunction .

1 回答

  • 4

    您不能将权重直接传递给摘要函数,这是一种疏忽,因为您可以将它们传递给建模函数 . 如果基础模型适应权重,则它们用于生成预测值 .

    我将把它添加到下一个版本中 .

    马克斯

相关问题