Ejemplo n.º 1
0
centroids = []

for x in number_of_centroids:
    centroid = Centroid()
    centroids.append(centroid)

for candidate_email in candidate_emails:
    minimum_distance = 12
    distance_from_centroid = 12
    centroid_to_be_assigned = None

    candidate_email.classification = calculator.classify(candidate_email)

    for centroid in centroids:
        distance_from_centroid = centroid.distance_from(candidate_email)
        if distance_from_centroid < minimum_distance:
            centroid_to_be_assigned = centroid
            minimum_distance = distance_from_centroid

    centroid_to_be_assigned.add_to_cluster(candidate_email)

while calculator.check_all_clusters_homogeneity(centroids) == False:
    expanded_centroids = []
    new_centroids = []

    for centroid in centroids:
        if calculator.check_cluster_homogeneity(
                centroid.cluster_data) == False:
            new_centroids = centroid.split_cluster()