sklearn classification_report ValueError:未知标签类型:

时间:2017-04-24 13:01:19

标签: numpy scikit-learn keras

我正在尝试一个关于Keras模型预测输出的简单分类报告。输入的格式是两个1D数组,但仍然会抛出错误。

Result<String> aResult = produceFutureOf(String.class).byExecuting(() -> executeA());
Result<String> bResult = ifResult(aResult).succeed().produceFutureOf(String.class).byExecuting(a -> executeB(a));
Result<String> cResult = ifResult(aResult).succeed().produceFutureOf(String.class).byExecuting(a -> executeC(a));
Result<String> eResult = ifResult(aResult).succeed().produceFutureOf(String.class).byExecuting(a -> executeE(a));
Result<String> dResult = ifResults(bResult, cResult).succeed().produceFutureOf(String.class).byExecuting((b, c) -> executeD(b, c));
Result<String> fResult = ifResult(eResult).succeed().produceFutureOf(String.class).byExecuting(e -> executeF(e));
Result<String> gResult = ifResult(fResult).succeed().produceFutureOf(String.class).byExecuting(f -> executeG(f));
return ifResults(dResult, gResult).succeed().produceFutureOf(String.class).byExecuting((d, g) -> executeH(d, g));

两个输入都是相同的类型,所以我很困惑,为什么这不起作用?我已经尝试将类型明确地更改为dtype = float并展平输入,但它仍然不起作用。

1 个答案:

答案 0 :(得分:3)

classification_report仅适用于分类问题。

如果您有分类问题(例如二进制),请使用以下

Y_pred = np.squeeze(model.predict(test_data[0:5]))
threshold = 0.5
classification_report(test_labels[0:5], Y_pred > threshold)

threshold将使所有内容大于0.5(在上面的示例中),1.0