我读过这篇文章,它比较了各种机器学习算法在 SMS 垃圾邮件检测方面的效果。我已经能够重现朴素贝叶斯的结果,现在我也想尝试随机森林。
使用朴素贝叶斯,这很简单。使用词袋模型,并使用拉普拉斯平滑处理缺失概率。只有 SMS 中出现的单词会针对 SPAM|HAM 类进行测试。但是,我不确定如何使用随机森林处理输入。
假设我有以下设置:
- 训练集中 5000 个不同的词,在词干和停用词去除后
- 要分类的文本很短,例如平均 10 个单词
- CART 用作树模型
- 随机森林选择特征的子集,例如 2*sqrt(5000) = 141 个单词,每个分割
- 词频作为特征值(也可以是TF-IDF)
所以我的问题是:
- 一般来说,不管文章如何,在特征空间大的情况下,随机森林能否有效用于短文本分类? 在我看来,由于特征空间大,数据中只有少数特征需要分类,因此可能存在很多弱分类器。
- 如何使用随机森林处理看不见的单词(训练集中不存在)?应该简单地将它们从输入中剥离,还是应该使用类似于拉普拉斯平滑的一些技术?
- 如果有人读过这篇短文,也许可以解释作者如何代表随机森林的特征?