Algoritmo de intervalo de confianza de Wilson

La base de este algoritmo se basa en el binomio elegido por el usuario, cada dato registrable es un evento independiente de "0-1", que se ajusta a la distribución de Poisson, por lo que este tipo de datos se clasifican fácilmente en dos categorías. Distribución de artículos. Existen muchas fórmulas de cálculo para calcular el intervalo de confianza de la distribución binomial, la más común es el "Intervalo de aproximación normal", pero solo es adecuado para el caso de un gran número de muestras (np> 5 yn (1 - p)> 5) Para muestras pequeñas, su precisión es muy pobre. El algoritmo de Wilson resuelve el problema de precisión de muestras pequeñas. La entrada del algoritmo de Wilson es el nivel de confianza y la salida es el intervalo de confianza. Si desea comparar la clasificación de datos, puede elegir el límite inferior del intervalo de confianza.

S es la fórmula del algoritmo de intervalo de confianza de Wilson, donde n es el número total de muestras, u es el número de ejemplos positivos, v es el número de ejemplos negativos yz representa las estadísticas correspondientes a un cierto nivel de confianza. En general, al nivel de confianza del 95%, las estadísticas z El valor de la cantidad es 1,96. Para dar un ejemplo simple, vote por alguien con 80 votos a favor y 20 votos en contra, entonces n es 100, u es 80 y v es 20.

Tabla de cuantiles de distribución normal:

Naturaleza del algoritmo:

  1. Naturaleza: el rango de puntuación S es [0,1), efecto: normalizado, apto para clasificación
  2. Naturaleza: cuando el número de ejemplos positivos u es 0, p es 0 y la puntuación S es 0, efecto: sin comentarios favorables, la puntuación más baja;
  3. Naturaleza: cuando el número de casos negativos v es 0, p es 1, degenera a 1 / (1 + z ^ 2 / n), y la puntuación S es siempre menor que 1; efecto: las puntuaciones son permanentemente comparables;
  4. Propiedad: Cuando p es constante, cuanto mayor es n, la velocidad de disminución del numerador es menor que la velocidad de disminución del denominador, mayor es la puntuación S, y viceversa; el efecto: la misma tasa de elogio p, mayor es el número total de ejemplos n, mayor es la puntuación S;
  5. Naturaleza: Cuando n tiende a infinito, degenera ap, y la puntuación S está determinada por p; Efecto: Cuando el número total de comentarios n es mayor, la puntuación favorable p aumentará la puntuación S de forma más evidente;
  6. Naturaleza: cuando el cuantil z es mayor, el número total n es más importante y la tasa de elogio p es menos importante, y viceversa; el efecto: cuanto mayor es la z, más importante es el número total de revisiones n, menor es el grado de discriminación; cuanto menor es la z, mayor es la tasa de elogio p importante;

Implementación del 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

Prueba de aplicación:

Supongo que te gusta

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