gpt4 book ai didi

r - 使用 F1 分数代替准确度来优化 SVM 参数

转载 作者:行者123 更新时间:2023-11-30 09:13:58 29 4
gpt4 key购买 nike

我正在使用 e1071“tune”函数来优化 SVM 模型。我想使用 F1 而不是 Accuracy 作为要优化的值。我在这篇文章中找到了:Optimize F-score in e1071 package我需要定义一个新的 error.fun。我遇到的问题是该帖子中显示的功能并未显示为最终的解决方案,并且它对我不起作用。如果我知道每次调整迭代的预测的变量名称,我可以编写一个函数来计算 F1,但我不知道如何获取这些值。如何使用 e1071 中的“tune”计算 F1 并用它来优化模型参数?我的代码如下:

tuned = tune.svm(PriYN~.,  data = dataset, kernel = "radial", probability=TRUE,  gamma = 10^(-5:-1), cost = 10^(-3:1), tunecontrol=tune.control(cross=10))

最佳答案

使用{插入符}:

ctrl <- trainControl(method = "repeatedcv", # choose your CV method 
number = 5, # according to CV method
repeats = 2, # according to CV method
summaryFunction = prSummary, # TO TUNE ON F1 SCORE
classProbs = T,
verboseIter = T
#sampling = "smote" # you can try 'smote' resampling method
)

然后调整你的模型

set.seed(2202)
svm_model <- train(target ~., data = training,
method = "svmRadial",
#preProcess = c("center", "scale"),
tuneLength = 10,
metric = "F", # The metric used for tuning is the F1 SCORE
trControl = ctrl)
svm_model

关于r - 使用 F1 分数代替准确度来优化 SVM 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59969350/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com