我收到这个奇怪的错误:
classification.py:1113: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
'precision', 'predicted', average, warn_for)`
Run Code Online (Sandbox Code Playgroud)
但是它也会在我第一次运行时打印出f-score:
metrics.f1_score(y_test, y_pred, average='weighted')
Run Code Online (Sandbox Code Playgroud)
我第二次跑,它提供没有错误的分数.这是为什么?
>>> y_pred = test.predict(X_test)
>>> y_test
array([ 1, 10, 35, 9, 7, 29, 26, 3, 8, 23, 39, 11, 20, 2, 5, 23, 28,
30, 32, 18, 5, 34, 4, 25, 12, 24, 13, 21, 38, 19, 33, 33, 16, 20,
18, 27, 39, 20, 37, 17, 31, 29, 36, 7, 6, 24, 37, …Run Code Online (Sandbox Code Playgroud) 我从 sklearn.metrics 导入了分类报告,当我输入我的np.arraysas 参数时,出现以下错误:
/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: Precision 和 F-score 定义不明确,在没有预测样本的标签中设置为 0.0。'precision', 'predicted', average, warn_for) /usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1137: UndefinedMetricWarning: Recall 和 F-score 定义不明确,正在在没有真实样本的标签中设置为 0.0。'召回'、'真'、平均值、warn_for)
这是代码:
svclassifier_polynomial = SVC(kernel = 'poly', degree = 7, C = 5)
svclassifier_polynomial.fit(X_train, y_train)
y_pred = svclassifier_polynomial.predict(X_test)
poly = classification_report(y_test, y_pred)
Run Code Online (Sandbox Code Playgroud)
当我过去不使用 np.array 时,它工作得很好,关于如何纠正这个问题的任何想法?