如何在 R 中的分类器模型中执行集成
How to perform ensembling in a classifier model in R
我有一个数据框,其中要预测的变量有 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 编程中执行此操作?在这种情况下还有其他方法可以执行集成建模吗?
大众投票有一个统计术语:众数
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 个预测变量集合
有帮助吗?
我有一个数据框,其中要预测的变量有 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 编程中执行此操作?在这种情况下还有其他方法可以执行集成建模吗?
大众投票有一个统计术语:众数
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 个预测变量集合
有帮助吗?