我有一个包含 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 或其他模型来增加这个结果吗?
您可以使用管道,然后还可以对 TfidifVectorizer 的参数与 SVC 的 C 一起进行网格搜索,例如 n-gram 范围 (1, 1)、(1, 2) 或 (2, 2),也许可以设置不同的 max_df,与 CountVectorizer 进行比较,也许也可以尝试字符 n 元语法(具有更高的 n 元语法范围)。