我是R中的统计和数据分析的新手 今天我在R中尝试朴素贝叶斯算法 我面临的问题是我无法理解预测。 该代码后面是这样的:R的朴素贝叶斯算法的输出说明
install.packages('ElemStatLearn')
library('ElemStatLearn')
library("klaR") library("caret")
sub = sample(nrow(spam), floor(nrow(spam) * 0.9))
train = spam[sub,]
test = spam[-sub,]
xTrain = train[,-58]
yTrain = train$spam
xTest = test[,-58]
yTest = test$spam
model = train(xTrain,yTrain,'nb',trControl=trainControl(method='cv',number=10))
prop.table(table(predict(model$finalModel,xTest)$class,yTest))`
结果显示这里是如下:
yTest
email spam
email 0.33405640 0.02603037
spam 0.24945770 0.39045553
可以参考此链接查看http://joshwalters.com/2012/11/27/naive-bayes-classification-in-r.html
好吧,明白了,朴素贝叶斯模型输出存储在模型数据框中。但那么kappa的含义和准确性是什么。 @Shahar Bental – Tappy
你可以分享kappa的代码和输出以及准确性吗? 精度被很好地定义, https://en.wikipedia.org/wiki/Accuracy_and_precision Cohen的κ是“归一化”的精度的一种形式: https://en.wikipedia.org/wiki/Cohen's_kappa –
上面写的是我的代码,而朴素贝叶斯 4140个样本 57预测 2类:“邮件”,“垃圾邮件” 没有预先处理 重采样:交叉验证(10倍) 摘要样本量:3726 3726,3727,3727,3725,3725,... 跨调谐参数的重采样结果: usekernel准确度Kappa FALSE 0.7126367 0.4581488 TRUE 0.5599037 0.2290060 – Tappy