Он также дает тот же результат, что и функция, представленная в вопросе, например, дает 0,2553 для этого примера:

ps://stackoverflow.com/a/48981834/1840471, это реализация взвешенного коэффициента Джини в Python:Это чисто и хорошо работает для массивов среднего размера, но, как и предупреждено в первоначальном предложении (

import numpy as np
def gini(x, weights=None):
    if weights is None:
        weights = np.ones_like(x)
    # Calculate mean absolute deviation in two steps, for weights.
    count = np.multiply.outer(weights, weights)
    mad = np.abs(np.subtract.outer(x, x) * count).sum() / count.sum()
    rmad = mad / np.average(x, weights=weights)
    # Gini equals half the relative mean absolute deviation.
    return 0.5 * rmad

https://stackoverflow.com/a/39513799/1840471) это О (н$5Это чисто и хорошо работает для массивов среднего размера, но, как и предупреждено в первоначальном предложении (6$

n = 20000  # Works, 30000 fails.
gini(np.random.rand(n), np.random.rand(n))

Это может быть полезно:

Ответы на вопрос(2)

Ваш ответ на вопрос