我需要尝试几种不同的机器学习方法(SVM、Logistic 回归等),预测一个值是真还是假,并写下它们的 AUC 和这些预测的准确性。我已经成功地做到了,现在我有两个矩阵,一个用于 AUC,一个用于准确度,它们填充了来自 SVM 和逻辑回归的数据(一行)。
现在我需要再为 SVM 和逻辑回归创建 10 次模型(我应该使用自举抽样),并且我应该有 10 行我的 AUC 和准确度数据。我已经阅读了多篇文章和指南/教程,但是我不知道如何实现这一点。我还找到并尝试了几个库(一个是 ROSE,另一个是引导),但没有一个对我有用。因为如果我正确理解了分配,我需要从我的数据集中获取 10 个不同的样本,然后将数据分离到训练集中和测试集中,这样我就可以比较模型 AUC 和准确性,看看这些模型实际上有多好。
就像我说的那样,我找到了多个来源,我想出的最好的事情是:
for (i in 1:10){
set.seed(123)
##########################
##########################
boot.sample = sample(n, 1000, replace = TRUE)
bootSample = dataset[boot.sample, ]
bootSample
split = sample.split(bootSample$blueWins, SplitRatio= 0.80)
training = subset(bootSample, split == TRUE, replace=TRUE)
test = subset(bootSample, split == FALSE, replace=TRUE)
print(training)
}
但是通过这种方法,我认为 set.seed 会搞砸一切,因为它每次都使用相同的数据。但是我认为评估希望我为每个机器学习模型使用相同的种子。
我可能把整个事情复杂化了,我是 R 的新手。
希望有人能把这些事情弄清楚。谢谢