machine-learning - 如何计算多类多标签分类的 f1_score
问题描述
我为我的functional classification model
. 测试数据的预测概率yprob = model.predict(testX)
给了我:
yprob = array([[0.18120882, 0.5803128 , 0.22847839],
[0.0101245 , 0.12861261, 0.9612609 ],
[0.16332535, 0.4925239 , 0.35415074],
...,
[0.9931931 , 0.09328955, 0.01351734],
[0.48841736, 0.25034943, 0.16123319],
[0.3807928, 0.42698202, 0.27493873]], dtype=float32)
我想从中计算准确率、精度、召回率、F1 分数和混淆矩阵。
顺序 api 提供了一个predict_classes
功能来做到这一点。
yclasses = model.predict_classes(testX)
并使用 sklearn 的f1_score函数,我们可以计算所有这些值。
如何将其应用于预测多类多标签分类的测试数据的概率?
我的第二个问题是知道每个数组的最大值是否yprob = model.predict(testX)
对应于预测的类?例如,[0.18120882, 0.5803128 , 0.22847839]
是数组中的第一个元素。最高值为 0.5803128
。这是否意味着它对应于一个热编码器[0, 1, 0], so the second label
,因为它是数组中的第二个元素?
解决方案
推荐阅读
- spring-boot - 休息模板传递原始消息
- reactjs - 是否可以为 React Router 5 中的任何路由匹配 # 部分?
- flutter - 在构建之前颤动如何获取小部件的大小
- python - 如何获得正在播放的pygame中音乐的位置?
- python - 如何在 django 中重定向时发送字典或数据?
- google-apps-script - 根据两个条件删除一行
- windows - 如何使用 hRawInput 将真实的键盘或鼠标输入与“SendInput”等命令输入区分开来
- ruby - 将文件传递给 ruby 程序时权限被拒绝
- sms - Android stock SMS App preview 在用户点击之前预取嵌入在文本消息中的链接?
- git - git --name-status 忽略所有空格