我希望使用朴素贝叶斯分类器进行预测。 到目前为止,我可以在R中使用以下(示例)代码进行预测
library(klaR)
library(caret)
Faktor<-x <- sample( LETTERS[1:4], 10000, replace=TRUE, prob=c(0.1, 0.2, 0.65, 0.05) )
alter<-abs(rnorm(10000,30,5))
HF<-abs(rnorm(10000,1000,200))
Diffalq<-rnorm(10000)
Geschlecht<-sample(c("Mann","Frau", "Firma"),10000,replace=TRUE)
data<-data.frame(Faktor,alter,HF,Diffalq,Geschlecht)
set.seed(5678)
flds<-createFolds(data$Faktor, 10)
train<-data[-flds$Fold01 ,]
test<-data[flds$Fold01 ,]
features <- c("HF","alter","Diffalq", "Geschlecht")
formel<-as.formula(paste("Faktor ~ ", paste(features, collapse= "+")))
nb<-NaiveBayes(formel, train, usekernel=TRUE)
pred<-predict(nb,test)
test$Prognose<-as.factor(pred$class)
现在我想通过特征选择来改进这个模型。我的真实数据大约有100个特征。 所以我的问题是,什么是为朴素贝叶斯分类选择最重要的特征的最佳方法? 是否有任何参考文献?
我尝试了以下代码行,但不幸的是它没有起作用。
rfe(train[, 2:5],train[, 1], sizes=1:4,rfeControl = rfeControl(functions = ldaFuncs, method = "cv"))
编辑:它给我以下错误消息
Fehler in { : task 1 failed - "nicht-numerisches Argument für binären Operator"
Calls: rfe ... rfe.default -> nominalRfeWorkflow -> %op% -> <Anonymous>
由于这是德语,请在您的计算机上复制此内容。
我该如何调整rfe()
调用以获得递归特征消除?
ref()
才能使上面的代码片段正常工作? - user3008056rfe(..)
sorry! - user3008056