【问题标题】:How to reduce the number of features in text classification?如何减少文本分类中的特征数量?
【发布时间】:2019-10-06 06:38:45
【问题描述】:

我正在做方言文本分类,我正在使用带有朴素贝叶斯的 countVectorizer。特征数量太多,我收集了 20k 条推文,有 4 种方言。每个方言都有 5000 条推文。并且特征总数为43K。我在想也许这就是我可能过度拟合的原因。因为当我对新数据进行测试时,准确性下降了很多。那么如何固定特征数量以避免过度拟合数据呢?

【问题讨论】:

    标签: python nlp text-classification naivebayes countvectorizer


    【解决方案1】:

    例如,您可以将参数 ma​​x_features 设置为 5000,这可能有助于过度拟合。您还可以修改 ma​​x_df(例如将其设置为 0.95)

    【讨论】:

    • @JohnSall 您是否尝试过使用不同的值,您是否将验证准确度绘制为维度的函数?
    • 因为每次更改特征后,我都会重新训练它并找到准确性。那么所有这些都必须在一个 for 循环中?
    【解决方案2】:

    测试数据下降是由curse of dimensionality 引起的。您可以使用一些降维方法来减少这种影响。可能的选择是在sklearn 中实现的潜在语义分析。

    【讨论】:

    • 我试过TruncatedSVD,在我做截断之后,当我想训练它时它给了我一个错误。
    猜你喜欢
    • 2012-11-16
    • 2016-05-17
    • 1970-01-01
    • 2017-06-16
    • 2020-04-05
    • 2019-06-30
    • 1970-01-01
    • 2014-09-12
    • 2019-07-25
    相关资源
    最近更新 更多