使用 scikit-learn 了解分类报告中的 UndefinedMetricWarning? [重复]

问题描述 投票:0回答:1

我有一个包含 5 个类别的文本分类任务,问题是我的精度很差,并且出现此警告,可能是由于数据不平衡造成的(我不确定):

/usr/local/lib/python2.7/site-packages/sklearn/metrics/metrics.py:1771:UndefinedMetricWarning:精度定义不明确,在没有预测样本的标签中设置为 0.0。

我猜这个警告是由于数据聚集在 5 标签中而产生的。如何解决此警告以及如何增加分类报告的结果?我还尝试使用以下超参数进行网格搜索:

Best parameters set:
    clf__C: 0.1
    vect__max_df: 0.25
    vect__ngram_range: (1, 1)
    vect__use_idf: True

Accuracy:
0.456923076923

但是仍然得到不好的结果,有人可以帮助我用 SVC 或其他模型来增加这个结果吗?

python python-2.7 machine-learning nlp scikit-learn
1个回答
1
投票

您可以使用管道,然后还可以对 TfidifVectorizer 的参数与 SVC 的 C 一起进行网格搜索,例如 n-gram 范围 (1, 1)、(1, 2) 或 (2, 2),也许可以设置不同的 max_df,与 CountVectorizer 进行比较,也许也可以尝试字符 n 元语法(具有更高的 n 元语法范围)。

© www.soinside.com 2019 - 2024. All rights reserved.