weighted_mode#

sklearn.utils.extmath.weighted_mode(a, w, *, axis=0)#

返回一个数组,其中包含传入数组的加权众数(最常见的)值。

如果有多个这样的值,则只返回第一个。众数箱的箱计数也会返回。

这是对 scipy.stats.mode 算法的扩展。

Parameters:
a形状为 (n_samples,) 的类数组对象

要查找众数的数组。

w形状为 (n_samples,) 的类数组对象

每个值的权重数组。

axisint, 默认=0

沿其操作的轴。默认是 0,即第一个轴。

Returns:
valsndarray

众数值的数组。

scorendarray

每个众数的加权计数数组。

See also

scipy.stats.mode

计算数组元素沿指定轴的众数(最常见的)值。

Examples

>>> from sklearn.utils.extmath import weighted_mode
>>> x = [4, 1, 4, 2, 4, 2]
>>> weights = [1, 1, 1, 1, 1, 1]
>>> weighted_mode(x, weights)
(array([4.]), array([3.]))

值 4 出现了三次:在均匀权重的情况下,结果只是分布的众数。

>>> weights = [1, 3, 0.5, 1.5, 1, 2]  # 降低 4 的权重
>>> weighted_mode(x, weights)
(array([2.]), array([3.5]))

值 2 得分最高:它出现了两次,权重分别为 1.5 和 2:这些的和是 3.5。