es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Aplicación del índice de RAND con números de cluster y etiquetas de cluster.

Tengo un conjunto de revisiones y las he agrupado con k-means y he obtenido a qué grupo pertenece cada revisión (p. ej., 1, 2, 3…). También tengo las etiquetas reales de a qué grupos pertenecen (p. ej., ubicación, comida, etc.) y necesito compararlos con el índice de Rand.

Como tengo números y etiquetas de los grupos, ¿cómo puedo aplicar el índice de Rand para compararlos?

¿Hay algún paso intermedio que deba seguir?

Edit: He visto la publicación https://stackoverflow.com/questions/49586742/rand-index-function-clustering-performance-evaluation, pero no responde mi pregunta.

En esa pregunta, tienes

labels_true = [1, 1, 0, 0, 0, 0]
labels_pred = [0, 0, 0, 1, 0, 1]

pero lo que tengo es algo como lo siguiente,

labels_true = [‘food’, ‘view’, ‘room’, ‘food’, ‘staff’, ‘staff’]
labels_pred = [0, 0, 0, 1, 0, 1]

Cualquier ayuda es muy apreciada.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para aplicar el índice Rand y comparar los clusters, es necesario convertir los nombres de las etiquetas en valores numéricos. Una forma de hacer esto es crear un diccionario que asocie cada nombre de etiqueta con un número. Por ejemplo:

    label_dict = {'comida': 0, 'vista': 1, 'habitación': 2, 'personal': 3}
    

    Luego puedes convertir la lista labels_true a valores numéricos utilizando el diccionario:

    labels_true_num = [label_dict[label] for label in labels_true]
    

    Ahora puedes aplicar la función de índice Rand para comparar los labels_true_num y labels_pred:

    from sklearn.metrics import adjusted_rand_score
    
    rand_index = adjusted_rand_score(labels_true_num, labels_pred)
    

    La función adjusted_rand_score devuelve un puntaje entre -1 y 1 que mide la similitud entre las dos agrupaciones. Un puntaje de 1 indica que las dos agrupaciones son idénticas, mientras que un puntaje de 0 indica que no son mejores que una agrupación aleatoria, y un puntaje de -1 indica que son completamente diferentes.

Comments are closed.