0

我有一个数据框,其中要预测的变量有 28 个可能的因子结果。

现在我在训练数据集上运行三种分类器算法,它们是支持向量机(SVM)、随机森林(RF)和 k 最近邻(kNN)。

现在我有了对应于上述三种算法的三个预测向量。所有这些都具有大约 80-90% 的良好准确度。

我想整合它们并根据三种算法的投票系统预测最终结果变量。注意:SVM 的准确度最高,其次是 RF,然后是 kNN。例如:

SVM prediction | RF prediction | KNN prediction|Final outcome
---------------|---------------|---------------|-------------

A              |A              |C              |A
---------------|---------------|---------------|-------------


D              |J              |D              |D
---------------|---------------|---------------|-------------

C              |C              |C              |C

---------------|---------------|---------------|-------------
I              |F              |K              |I (pick SVM's outcome in case of a tie)

如您所见,我想要的非常简单。如何在 R 编程中执行此操作?在这种情况下还有其他方法可以执行集成建模吗?

4

1 回答 1

0

热门投票有一个统计术语:模式

SVMprediction  <- c('A','D','C','I')
RFprediction   <- c('A','J', 'C','F')
KNNprediction  <- c('C','D', 'C','K')
data <- data.frame(SVMprediction, RFprediction , KNNprediction)

### Create the function.
getmode <- function(v) {
uniqv <- unique(v)
uniqv[which.max(tabulate(match(v, uniqv)))]
}

apply(data,1,getmode)

[1] “A” “D” “C” “I”

所以,我可以将它用于 n 个预测变量的集合

它有帮助吗?

于 2016-11-27T15:16:10.810 回答