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

/usr/local/lib/python2.7/site-packages/sklearn/metrics/metrics.py:1771: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples.


我猜这个警告是由于数据聚集在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或其他模型来帮助我增加这个结果吗?

最佳答案

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

10-06 09:14
查看更多