Algoritmo de intervalo de confiança de Wilson

A base deste algoritmo é baseada no binômio da escolha do usuário.Cada dado gravável é um evento independente de "0-1", que está em conformidade com a distribuição de Poisson, portanto, esse tipo de dado é facilmente classificado em duas categorias. Distribuição de itens. Existem muitas fórmulas de cálculo para o intervalo de confiança da distribuição binomial, a mais comum é o "Intervalo de aproximação normal", mas só é adequado para o caso de um grande número de amostras (np> 5 e n ​​(1 - p)> 5) Para pequenas amostras, sua precisão é muito pobre. O algoritmo de Wilson resolve o problema de precisão de pequenas amostras. A entrada do algoritmo de Wilson é o nível de confiança e a saída é o intervalo de confiança. Se quiser comparar a classificação dos dados, você pode escolher o limite inferior do intervalo de confiança.

S é a fórmula do algoritmo de intervalo de confiança de Wilson, onde n é o número total de amostras, u é o número de exemplos positivos, v é o número de exemplos negativos ez representa as estatísticas correspondentes a um determinado nível de confiança. Em geral, no nível de confiança de 95%, estatísticas z O valor da quantidade é 1,96. Para dar um exemplo simples, vote em alguém com 80 votos a favor e 20 votos contra, então n é 100, u é 80 e v é 20.

Tabela de quantis de distribuição normal:

Natureza do algoritmo:

  1. Natureza: o intervalo de pontuação S é [0,1), efeito: normalizado, adequado para classificação
  2. Natureza: quando o número de exemplos positivos u é 0, p é 0 e a pontuação S é 0; efeito: sem comentários favoráveis, a pontuação mais baixa;
  3. Natureza: quando o número de casos negativos v é 0, p é 1, degenera para 1 / (1 + z ^ 2 / n), e a pontuação S é sempre menor que 1; efeito: as pontuações são permanentemente comparáveis;
  4. Propriedade: Quando p é constante, quanto maior o n, a velocidade de diminuição do numerador é menor do que a velocidade de diminuição do denominador, quanto maior a pontuação S e vice-versa; o efeito: a mesma taxa de elogio p, quanto maior o número total de exemplos n, maior será a pontuação S;
  5. Natureza: Quando n tende ao infinito, degenera para p, e a pontuação S é determinada por p; Efeito: Quando o número total de comentários n é maior, a avaliação favorável p aumentará a pontuação S de forma mais óbvia;
  6. Natureza: quando o quantil z é maior, o número total n é mais importante e a taxa de elogio p é menos importante e vice-versa; o efeito: quanto maior o z, mais importante o número total de avaliações n, menor o grau de discriminação; quanto menor o z, maior a taxa de elogio p importante;

Implementação de código Python:

def wilson_score(pos, total, p_z=0.8):
    """
    威尔逊得分计算函数
    :param pos: 正例数
    :param total: 总数
    :param p_z: 正太分布的分位数
    :return: 威尔逊得分
    """
    pos_rat = pos * 1. / total * 1.  # 正例比率
    score = (pos_rat + (np.square(p_z) / (2. * total))
             - ((p_z / (2. * total)) * np.sqrt(4. * total * (1. - pos_rat) * pos_rat + np.square(p_z)))) / \
    (1. + np.square(p_z) / total)
    return score

Teste de aplicação:

Acho que você gosta

Origin blog.csdn.net/gf19960103/article/details/105053027
Recomendado
Clasificación