def coherencia_radio(cluster): """ Function: coherencia_radio Descrp: Calcula la coherencia de un cluster por el metodo del radio. Args: -> cluster: Lista de instancias que forman el cluster. Return: -> Valor de coherencia """ c = A.get_centroide(cluster) # maximo de los radios (todas las instancias al centroide) return max([distance.euclidean(i,c) for i in cluster])
def coherencia_promedio(clustering): """ Function: coherencia_promedio Descrp: Calcula la coherencia de un conjunto de clusters por la formula SUM(dist(c,i)^2)/N Args: -> clustering: Lista de clusters. Return: -> Valor de coherencia """ suma = 0 num = 0 for clu in clustering: c = A.get_centroide(clustering[clu]) for i in clustering[clu]: d = distance.euclidean(c,i) suma += d*d num +=1 return suma/(num*1.0)