支持 = 'None'
Support = 'None'
使用下面的代码,我得到 precision
、recall
和 F scores
的值,但我得到 None
的 support
import numpy as np
from sklearn.metrics import precision_recall_fscore_support
ytrue = np.array(['1', '1', '1', '1', '1','1','1','1','0'])
ypred = np.array(['0', '0', '0', '1', '1','1','1','1','0'])
precision_recall_fscore_support(ytrue, ypred, average='weighted')
输出:
(0.91666666666666663, 0.66666666666666663, 0.72820512820512828, None)
我检查了 http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html 但我发现有点不清楚为什么是 None
问题:
- 为什么我的输出中
support
等于 None
?
- 如何获得非
None
输出?
支持没有错...支持,同时提供average
。文档对此有点神秘,看看 implementation
Why is support equal to None in my output?
如果提供了 average
的值,则返回 None
以获得支持
How do I get a non-None output?
不要为 average
提供值。如果您仍想使用 weighted
并需要支持,只需执行类似
的操作
> from sklearn.metrics import confusion_matrix
> np.sum(confusion_matrix(ytrue, ypred), axis=1)
array([1, 8])
使用下面的代码,我得到 precision
、recall
和 F scores
的值,但我得到 None
的 support
import numpy as np
from sklearn.metrics import precision_recall_fscore_support
ytrue = np.array(['1', '1', '1', '1', '1','1','1','1','0'])
ypred = np.array(['0', '0', '0', '1', '1','1','1','1','0'])
precision_recall_fscore_support(ytrue, ypred, average='weighted')
输出:
(0.91666666666666663, 0.66666666666666663, 0.72820512820512828, None)
我检查了 http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html 但我发现有点不清楚为什么是 None
问题:
- 为什么我的输出中
support
等于None
? - 如何获得非
None
输出?
支持没有错...支持,同时提供average
。文档对此有点神秘,看看 implementation
Why is support equal to None in my output?
如果提供了 average
的值,则返回 None
以获得支持
How do I get a non-None output?
不要为 average
提供值。如果您仍想使用 weighted
并需要支持,只需执行类似
> from sklearn.metrics import confusion_matrix
> np.sum(confusion_matrix(ytrue, ypred), axis=1)
array([1, 8])