【发布时间】:2014-07-07 21:59:40
【问题描述】:
我一直在尝试编写能够使用不同分类功能的代码。但是,根据我使用的分类函数,参数会有所不同。我想要这样的东西:
classification_flow <- function(classification_function, ...) {
if (classification_function == randomForest) {
...
}
else if (classification_function == svm) {
...
}
}
当然,这不起作用,因为== 不是为函数而构建的。我试过使用str、names、attr,看了一点methods和UseMethod,但我找不到合适的方法。
谁能帮帮我?
谢谢,
杰斯
PS:在这种特殊情况下,我想要做的是获得一个概率矩阵作为输出,所以类似这样:
classification_flow <- function(classification_function, train, classes, ...) {
if (classification_function == randomForest) {
mat = classification_function(train, classes, type="prob")
}
else if (classification_function == svm) {
mat = classification_function(train, classes, probabilities = T)
}
return(mat)
}
如果您知道更优雅的解决方案...
【问题讨论】:
标签: r classification