在使用 python / numpy 时,我遇到了以下语法:
np.mean(predicted == docs_test.target)
参数的类型numpy.ndarray
这里的意义是==
什么?
谢谢,贾迪普
假设predicted
和docs_test.target
是两个大小相同的数组,这将计算两个数组完全一致的元素的分数。
例如,
In [1]: import numpy as np
In [2]: a = np.array([1, 2, 3, 4, 5, 6, 7])
In [3]: b = np.array([1, 3, 7, 4, 5, 0, -10])
In [4]: np.mean(a == b)
Out[4]: 0.42857142857142855
这告诉我们,在约 43% 的案例中(7 个中有 3 个),a
并且b
是一致的。
如果两者predicted
和docs_test.target
都是numpy数组,==
则将返回一个新数组,1
以代替匹配元素并且0
元素不同。mean
基本上,该数组将为您提供相似度的度量numberofmatchingelements / lengthofpredictedarray
。
从文档:
每个 ... 比较 (
==
,<
,>
,<=
,>=
,!=
) 等价于对应的通用函数
在这种情况下,相应的通用函数是numpy.equal
:
numpy.equal(x1, x2[, out])
返回 (
x1 == x2
) 元素。