weighted_mode#

sklearn.utils.extmath.weighted_mode(a, w, *, axis=0)[源代码]#

返回传入数组中加权众数(最常见)值的数组。

如果有多个这样的值,则仅返回第一个。同时还会返回众数仓(modal bins)的计数。

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

参数:
a类数组,形状为 (n_samples,)

用于查找众数的数组。

w类数组,形状为 (n_samples,)

每个值的权重数组。

axisint, default=0

执行操作的轴。默认为 0,即第一个轴。

返回:
valsndarray

众数值数组。

scorendarray

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

另请参阅

scipy.stats.mode

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

示例

>>> 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]  # deweight the 4's
>>> weighted_mode(x, weights)
(array([2.]), array([3.5]))

值 2 的分数最高:它出现了两次,权重分别为 1.5 和 2,相加得 3.5。