我正在从事垃圾邮件过滤器挖掘项目,我目前正在使用 NaiveBayesMultinomial 分类器通过计算单词出现的频率将垃圾邮件与非垃圾邮件分类。
问题是WEKA默认将分类阈值设置为0.5。但是,将非垃圾邮件误分类为垃圾邮件比反之更有害。
我想调整一下WEKA的NaiveBayesMultinomial算法的阈值,看看混淆矩阵是如何变化的。如果这不是直接可能的,我如何利用 WEKA 的输出来计算不同阈值的混淆矩阵?
以下是对测试拆分进行评估时项目当前结果的摘要:
概括:
Correctly Classified Instances 2715 98.4766 %
Incorrectly Classified Instances 42 1.5234 %
Kappa statistic 0.9679
Mean absolute error 0.0184
Root mean squared error 0.1136
Relative absolute error 3.8317 %
Root relative squared error 23.2509 %
Total Number of Instances 2757 `
按类别的详细精度:
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
0.998 0.035 0.978 0.998 0.988 0.998 ham
0.965 0.002 0.996 0.965 0.98 0.999 spam
Weighted Avg. 0.985 0.022 0.985 0.985 0.985 0.998
混淆矩阵:
a b <-- classified as
1669 4 | a = ham
38 1046 | b = spam