使用scikit-learn了解分类报告中的UndefinedMetricWarning?

时间:2015-01-26 02:29:19

标签: python python-2.7 machine-learning nlp scikit-learn

我有一个包含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或其他型号增加这个结果吗?

1 个答案:

答案 0 :(得分:1)

你可以使用一个管道然后网格搜索TfidifVectorizer的参数和SVC的C,比如n-gram范围(1,1),(1,2)或(2,2),也许设置一个不同的max_df,与CountVectorizer比较,也可以尝试字符n-gram(具有更高的n-gram范围)。