r - 我可以优化“插入符号”中的中值相对绝对误差吗?
问题描述
我在插入符号中有一个 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
)
推荐阅读
- gnuplot - 如何使用gnuplot导入具有固定列宽的数据?
- point-cloud-library - 如何使用 pcl 的聚类方法来聚类 6d 数据,例如 Eigen::Matrix
- java - 可展开的 listView 行项目不连续显示
- git - 如何防止git自动使用其他账户?
- mysql - MySQL 查询 - 一次查询中的加法、计数和除法
- c++ - 在给定字符串中查找子字符串
- javascript - 如何从外部 JavaScript 检索 id 文本?
- python - 给定一组数字,找出其中最长的算术级数的长度
- json - 我有一个 json strign 行如何计算列数
- python - 程序初始输出旁边的 Python 和 Excel 日期更新