我在室内具有KNN模型,我想优化中位相对绝对错误。
library(caret)
model <- train(
close_price~ ., data = train.data, method = "knn",
trControl = trainControl("cv", number = 10),
preProcess = c("center", "scale"),
metric = "MdRAE",
tuneLength = 10
)
我尝试使用MdRAE
和MDRAE
,他们都返回了此错误。
Warning message:
In train.default(x, y, weights = w, ...) :
The metric "MdRAE" was not in the result set. RMSE will be used instead
是否有所有可用指标的列表?我在商标电子书中找不到它。
此指标未直接在caret
中实现,但您可以自己轻松地执行:
mdrae_summary <- function(data, lev=NULL, model=NULL) {
c(MdRAE=median(abs(data$pred - data$obs)/data$obs))
}
model <- train(
close_price~ ., data = train.data, method = "knn",
trControl = trainControl("cv", number = 10, summaryFunction = mdrae_summary),
preProcess = c("center", "scale"),
metric = "MdRAE",
tuneLength = 10
)