【问题标题】:How can I improve text classification ML model performance如何提高文本分类 ML 模型的性能
【发布时间】:2022-10-04 23:30:58
【问题描述】:

我有一个文本分类问题。数据集高度不平衡。在训练数据上,我尝试过下采样,使用SMOTE进行上采样,但性能并不好。我正在努力达到 0.80 的 F1 分数 下面是使用 Glove 嵌入和 ADABoost 分类器的性能。尝试使用 SVM 进行通用句子编码,性能稍好:

                precision   recall    f1-score   support

       0         0.9381     0.6841     0.7912      9904
       1         0.1813     0.6079     0.2793      1140
accuracy                               0.6762     11044
macro avg        0.5597     0.6460     0.5353     11044

我也尝试过 bert 微调模型,但并没有太大的不同。我相信由于测试数据集不平衡,精度确实很低。我还能尝试什么来提高性能?

【问题讨论】:

    标签: machine-learning nlp data-science imbalanced-data


    【解决方案1】:

    我用了一个随机森林分类器得到我%94很好 但你可以使用我得到的深度学习%97我用这个:

    #python    
        model2.add(Conv1D(32, 3, activation='relu'))
        model2.add(MaxPool1D(3))
        model2.add(Dropout(0.2))
        model2.add(Conv1D(32, 3, activation='relu'))
        model2.add(GlobalMaxPooling1D())
        model2.add(Dropout(0.1))
        model2.add(Dense(8, activation='relu'))
        model2.add(Dropout(0.1))
        model2.add(Dense(1, activation='sigmoid'))
    

    【讨论】:

    • 它是否在不平衡的测试数据集上提供了良好的性能? (约 10% 的正数据点)
    • 我没有为不平衡的数据集实施?你能解释一下你的数据集吗?我想要帮你
    • 训练数据集由约 15000 行组成。我使用下采样平衡了它,并在这些数据上训练了不同的 ML 模型。但是,在测试数据集上运行模型时,如上所述,性能非常差。测试数据集由 11000 行组成并且是不平衡的(正点只有 1100)。我不想对真实的测试数据进行任何抽样。
    • 你有 11000 个正数和 4000 个负数,我的数据就像你尝试随机森林分类器并使用超参数,如果不评论它会返回得到你的结果。
    • 这个答案没有任何意义,因为问题中没有定义数据集。请注意,“改进我的 ML 模型”问题在 Stack Overflow 中是题外话,这也意味着您不应该尝试回答这些问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多