首页 > 解决方案 > 使用 MultiLabelBinarizer 转换 Keras 预测输出

问题描述

我有一个以分类数据作为输出的 Keras ML 算法。我使用 MultiLabelBinarizer 来预处理我的训练集和测试集。

现在,我想使用该二值化器来检索原始标签。但是 MultiLabelBinarizer 的 inverse_transform 需要一个 0 和 1 的数组。 keras Sequential.predict 的返回类型是一个浮点数组:

[1.12341913e-05 1.41614655e-05 2.17968118e-05 3.00095453e-05
 3.14625395e-05 7.41569820e-05 8.29565761e-05 9.98367250e-05
 1.00901299e-04 1.02536709e-04 1.33234425e-04 1.34716029e-04
 1.65971476e-04 1.93201427e-04 2.67350493e-04 3.41955834e-04
 6.69036701e-04 9.62036604e-04 2.26790877e-03 3.79886804e-03
 5.10875024e-02 2.81521738e-01 6.57887399e-01]

理想情况下,我想要一张标签/probas 的地图。

有没有一种简单的方法来实现这一点?

标签: pythonkerasscikit-learn

解决方案


好的,我发现的最简单的方法:

for i in range(0, len(result[0])):
    print (binarizer.classes_[i], ":", result[0][i])

推荐阅读