weighted_mode#
- sklearn.utils.extmath.weighted_mode(a, w, *, axis=0)[source]#
返回传入数组中加权众数(最常见)值的数组。
如果存在多个这样的值,则只返回第一个。还返回众数箱的计数。
这是对 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。