Statistics 如何进行分类

Statistics 如何进行分类,statistics,machine-learning,classification,weka,document-classification,Statistics,Machine Learning,Classification,Weka,Document Classification,我尝试使用Weka将文档分类为两个类别(category1和category2) 我收集了一个培训集,包括600个属于这两个类别的文档,将要分类的文档总数是1000000 为了进行分类,我应用了StringToOrdVector过滤器。我从过滤器中设置以下内容为真: -IDF变换 -转移因子 -输出字数 我想问几个关于这个过程的问题 1) 我应该使用多少个文档作为培训集,以避免过度装配 2) 应用过滤器后,我得到了训练集中的单词列表。为了在分类器上获得更好的结果,我是否必须删除其中任何一个,或者

我尝试使用Weka将文档分类为两个类别(category1和category2)

我收集了一个培训集,包括600个属于这两个类别的文档,将要分类的文档总数是1000000

为了进行分类,我应用了StringToOrdVector过滤器。我从过滤器中设置以下内容为真: -IDF变换 -转移因子 -输出字数

我想问几个关于这个过程的问题

1) 我应该使用多少个文档作为培训集,以避免过度装配

2) 应用过滤器后,我得到了训练集中的单词列表。为了在分类器上获得更好的结果,我是否必须删除其中任何一个,或者它不起任何作用

3) 作为分类方法,我通常选择朴素贝叶斯,但我得到的结果如下:

-------------------------
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统计,是否有任何可接受的阈值,或者在这种情况下,这无关紧要,因为只有两个类别


很抱歉发布了这么长的帖子,但是我已经尝试了一周来改进分类结果,但没有成功,尽管我试图获得更适合每个类别的文档。

要回答您的问题:

  • 我会使用(10倍)交叉验证来评估你的方法。该模型在90%的数据上训练10次,每次使用数据的不同部分在10%的数据上进行测试。因此,结果较少偏向于您当前(随机)选择的列车和测试集
  • 删除停止词(即,具有很少识别值的频繁出现的词,如
    the
    he
    )是改进分类器的常用策略。Weka的
    StringToWordVector
    允许您选择包含这些停止词的文件,但它也应该有一个包含英语停止词的默认列表
  • 根据您的结果,SMO在两个分类器中表现最好(例如,它有更多正确分类的
    实例
    )。您可能还想看看(Lib)SVM或LibLinear(如果它们不是Weka本机的,您可能需要安装它们;Weka 3.7.6有一个包管理器,可以方便地安装),它在文档分类方面也可以表现得很好
  • 1) 我应该使用多少文件作为培训集,以便 避免过度装配\

    您不需要选择训练集的大小,在WEKA中,您只需使用10倍交叉验证。回到问题上来,机器学习算法对过拟合问题的影响远大于数据集


    2) 应用过滤器后,我会得到一个列表中的单词 训练集。我是否必须移除其中任何一个以获得更好的结果 在分类器上,还是它不起任何作用\

    确实如此。但不能保证结果是否会好转


    3) 作为分类方法,我通常选择朴素贝叶斯,但 我得到的结果如下:\


    通常,为了确定分类算法是否良好,ROC/AUC/F度量值始终被视为最重要的指标。您可以在任何机器学习书籍中学习它们。

    关于第二个问题 2) 应用过滤器后,我得到了训练集中的单词列表。为了在分类器上获得更好的结果,我是否必须删除其中任何一个,或者它不起任何作用

    我正在构建一个分类器,并使用著名的20news group数据集对其进行训练,在没有预处理的情况下对其进行测试时,结果并不好。因此,我按照以下步骤对数据进行了预处理:

  • 按空格替换制表符、换行符和返回字符
  • 只保留字母(即,将标点、数字等变成空格)
  • 将所有字母改为小写
  • 用单个空间替换多个空间
  • 每个文档的标题/主题仅添加在文档文本的开头
  • 通过删除长度小于3个字符的单词,无法从上一个文件中获得短字符。例如,删除“他”,但保留“他”
  • 通过删除524个智能停止字,从上一个文件中未获得停止。其中一些已被删除,因为它们少于3个字符
  • 通过将波特的词干分析器应用于剩余的 话。有关词干分析的信息可在此处找到

  • 这些步骤来自

    Hi,感谢您在我的第一篇文章中的编辑。我会查一下你推荐的图书馆。关于过拟合效应,是否有任何规则建议训练集应该有多大?似乎移除后我得到了更好的结果。谢谢你的回复!