当前位置:  开发笔记 > 编程语言 > 正文

如何使用sklearn的keras模型分类报告?

如何解决《如何使用sklearn的keras模型分类报告?》经验,为你挑选了1个好方法。

所以我写了一个网络,其中包括以下多类分类:-y_labels用to_categorical -last层转换使用sigmoid函数和3个神经元作为我的类-model编译使用categorical_crossentropy作为损失函数所以我用过

 model.predict_classes(x_test)

然后我用它作为

   classification_report(y_test,pred)

y_test的格式为to_categorical我收到以下错误:

ValueError: Mix type of y not allowed, got types set(['binary', 'multilabel-indicator'])

我的问题是我怎样才能将其转换回来以便使用它呢?



1> indraforyou..:

该错误仅表示该类型y_test并且pred具有不同类型.检查功能type_of_target在multiclass.py.如此处所示,其中一个y是类的指示符,另一个是类向量.您可以通过打印形状来推断哪一个是什么y_test.shape , pred.shape.

更多,因为你使用model.predict_classes而不是model.predict你的输出model.predict_classes将只是类而不是类向量.

所以要么你需要通过以下方式转换其中一个:

# class --> class vector
from keras.utils import np_utils
x_vec = np_utils.to_categorical(x, nb_classes)

# class vector --> class 
x = x_vec.argmax(axis=-1)

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有