如果我在插入符号中使用两种方法(NN和KNN),然后我想提供显着性检验,那我该怎么做wilcoxon检验。
我提供了如下数据样本
structure(list(Input = c(25, 193, 70, 40), Output = c(150, 98,
27, 60), Inquiry = c(75, 70, 0, 20), File = c(60, 36, 12, 12),
FPAdj = c(1, 1, 0.8, 1.15), RawFPcounts = c(1750, 1902, 535,
660), AdjFP = c(1750, 1902, 428, 759), Effort = c(102.4,
105.2, 11.1, 21.1)), row.names = c(NA, 4L), class = "data.frame")
d=readARFF("albrecht.arff")
index <- createDataPartition(d$Effort, p = .70,list = FALSE)
tr <- d[index, ]
ts <- d[-index, ]
boot <- trainControl(method = "repeatedcv", number=100)
cart1 <- train(log10(Effort) ~ ., data = tr,
method = "knn",
metric = "MAE",
preProc = c("center", "scale", "nzv"),
trControl = boot)
postResample(predict(cart1, ts), log10(ts$Effort))
cart2 <- train(log10(Effort) ~ ., data = tr,
method = "knn",
metric = "MAE",
preProc = c("center", "scale", "nzv"),
trControl = boot)
postResample(predict(cart2, ts), log10(ts$Effort))
如何在此处执行wilcox.test()
。
Warm regards
这对您有用吗?
library(caret)
df <- structure(list(Input = c(25, 193, 70, 40), Output = c(150, 98,
27, 60), Inquiry = c(75, 70, 0, 20), File = c(60, 36, 12, 12),
FPAdj = c(1, 1, 0.8, 1.15), RawFPcounts = c(1750, 1902, 535,
660), AdjFP = c(1750, 1902, 428, 759), Effort = c(102.4,
105.2, 11.1, 21.1)), row.names = c(NA, 4L), class = "data.frame")
# not enough data points in df for ML: increase the number of df rows X10
d <- df[rep(seq_len(nrow(df)), 10), ]
index <- createDataPartition(d$Effort, p = .70,list = FALSE)
tr <- d[index, ]
ts <- d[-index, ]
boot <- trainControl(method = "repeatedcv", number=100)
cart1 <- train(log10(Effort) ~ ., data = tr,
method = "knn",
metric = "MAE",
preProc = c("center", "scale", "nzv"),
trControl = boot)
# save the output to "model_predictions_1"
model_predictions_1 <- postResample(predict(cart1, ts), log10(ts$Effort))
cart2 <- train(log10(Effort) ~ ., data = tr,
method = "knn",
metric = "MAE",
preProc = c("center", "scale", "nzv"),
trControl = boot)
# save the output to "model_predictions_2"
model_predictions_2 <- postResample(predict(cart2, ts), log10(ts$Effort))
# test model_predictions_1 vs model_predictions_2
wilcox.test(model_predictions_1, model_predictions_2, exact = FALSE)