r 添加自定义评估函数度量(matthew相关系数)以评估插入符号模型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r 添加自定义评估函数度量(matthew相关系数)以评估插入符号模型相关的知识,希望对你有一定的参考价值。
myFormula <- as.formula(paste0("is_pnio~", paste0(feat_names, collapse = "+")))
test_rs <- train(myFormula, data = subTrain,
method = "rf",
metric = "mcc", # "Kappa",
tuneGrid = expand.grid(maxdepth = c(2, 5)),
#tuneLength = 3,
trControl = trainControl( method = "cv", number = 5,
summaryFunction = caretMCCFunction))
caretMCCFunction <- function(data, lev = NULL, model = NULL) {
#print(head(data))
#print(NROW(data))
setDT(data)
tp <- data[obs=="yes" & pred=="yes", as.numeric(.N)] # .N by default returns an integer value, with large values this leads to integer overflows and NA values
tn <- data[obs=="no" & pred=="no", as.numeric(.N)]
fp <- data[obs=="no" & pred=="yes", as.numeric(.N)]
fn <- data[obs=="yes" & pred=="no", as.numeric(.N)]
mcc = (tp * tn - fp * fn) / sqrt((tp + fp) * (tp + fn) * (tn + fp) * (tn + fn))
#print(paste0("tp=", tp, ", tn=", tn, ", fp=", fp, ", fn=", fn, ", mcc=", mcc))
out <- mcc
names(out) <- "mcc"
out
}
以上是关于r 添加自定义评估函数度量(matthew相关系数)以评估插入符号模型的主要内容,如果未能解决你的问题,请参考以下文章
计算矩阵的 Matthew 相关系数需要很长时间
如何理解皮尔逊相关系数
相关性与自相关性
R语言编写自定义函数评估回归模型预测变量的相对重要性(Relative importance)通过在所有可能的子模型中添加一个预测变量而获得的R方的平均增加评估预测变量的重要度并通过点图可视化
如何理解皮尔逊相关系数
多元线性回归的模型可以是一元模型吗