gpt4 book ai didi

使用单个命令运行具有不同参数的函数列表

转载 作者:行者123 更新时间:2023-12-05 00:30:53 26 4
gpt4 key购买 nike

我希望在相同的数据上测试不同回归/分类算法(即 svm、nnet、rpart、randomForest、naiveBayes 等)的结果,看看哪个效果更好。但我需要让我的代码尽可能简短和干净。为了测试所有算法,我想使用单个 mclapply() 来运行它们。包裹电话multicore :

invisible(lapply(c("party","nnet","caret","klaR","randomForest","e1071","rpart",
"multicore"), require, character.only = T))
algorithms <- c(knn3, NaiveBayes, nnet, ctree, randomForest, svm, naiveBayes, rpart)
data(iris)
model <- mclapply(algorithms, function(alg) alg(Species ~ ., iris))

问题是一些算法需要额外的参数,即 nnet()需要参数 size要设置。当然,这可以通过几个 if,else 来解决。命令,但有没有更简单的解决方案?

最佳答案

您可以做的一件事是替换 algorithms 中的那些。需要带有部分函数的附加参数,例如

algorithms <- c(knn3, ctree, function(...) nnet(..., size=2))

关于使用单个命令运行具有不同参数的函数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690855/

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