【发布时间】:2012-09-14 13:20:22
【问题描述】:
我正在尝试使用 Weka 将文档分类为两个类别(类别 1 和类别 2)。
我已经收集了一个包含 600 个属于这两个类别的文档的训练集,要分类的文档总数为 1,000,000。
所以为了执行分类,我应用了 StringToWordVector 过滤器。我从过滤器中设置了以下内容: - IDF 变换 - TF 转换 - 输出字数
我想问一些关于这个过程的问题。
1) 我应该使用多少个文档作为训练集,以避免过度拟合?
2) 应用过滤器后,我得到了训练集中的单词列表。我是否必须删除它们中的任何一个才能在分类器中获得更好的结果,或者它不起作用?
3) 作为分类方法,我通常选择naiveBayes,但我得到的结果如下:
-------------------------
Correctly Classified Instances 393 70.0535 %
Incorrectly Classified Instances 168 29.9465 %
Kappa statistic 0.415
Mean absolute error 0.2943
Root mean squared error 0.5117
Relative absolute error 60.9082 %
Root relative squared error 104.1148 %
----------------------------
如果我使用 SMO,结果是:
------------------------------
Correctly Classified Instances 418 74.5098 %
Incorrectly Classified Instances 143 25.4902 %
Kappa statistic 0.4742
Mean absolute error 0.2549
Root mean squared error 0.5049
Relative absolute error 52.7508 %
Root relative squared error 102.7203 %
Total Number of Instances 561
------------------------------
那么在文档分类中,哪一个是“更好”的分类器? 哪一个更适合小型数据集,比如我拥有的那个? 我读过 naiveBayes 在大数据集上表现更好,但如果我增加我的数据集,会导致“过度拟合”效应吗? 另外,关于 Kappa 统计,是否有任何可接受的阈值,或者在这种情况下并不重要,因为只有两个类别?
很抱歉,这篇文章很长,但我已经尝试了一周来改进分类结果,但没有成功,尽管我试图获得更适合每个类别的文档。
【问题讨论】:
标签: statistics machine-learning classification weka document-classification