如何交叉验证朴素贝叶斯分类器?
Posted
技术标签:
【中文标题】如何交叉验证朴素贝叶斯分类器?【英文标题】:How to cross validate a Naive Bayes classifier? 【发布时间】:2015-09-24 18:40:29 【问题描述】:我使用 e1071 进行朴素分类
功能
naiveBayes(x=, y=, )
我想使用 cvTools 进行交叉验证
cvFit(....)
我怎么会写这个,cvFit的文档对我来说真的很难理解
typeof(naiveBayes) is 'closure'
【问题讨论】:
有没有更好的方法来解决这个问题?几年过去了…… 【参考方案1】:我认为开始使用 caret 包会更好。例如这是我目前正在处理的代码的一部分:
library('caret')
train_control <- trainControl(method="cv", number=10)
#create model
fit <- train(trainData[, -classIndex], trainData[, classIndex], method = "nb",trControl=train_control)
【讨论】:
这使用了 klaR 包,根据我的经验,这对于天真的贝叶斯来说非常慢。它比 R 中的 e1071 或 Python 中的 sklearn 长 100-1000 倍。以上是关于如何交叉验证朴素贝叶斯分类器?的主要内容,如果未能解决你的问题,请参考以下文章
Scikit-learn 使用朴素贝叶斯进行 10 折交叉验证的多类分类