def METHOD_NAME(self, dist_sum, cluster_result, suffix):
    dist_cluster_table = dist_sum.join(cluster_result, lambda v1, v2: [v1, v2])
    dist_table = self.cal_ave_dist(dist_cluster_table, cluster_result)  # ave dist in each cluster
    if len(dist_table) == 1:
        raise ValueError('Only one class detected. DBI calculation error')
    cluster_dist = self.aggregator.aggregate_model(suffix=('cluster_dist', suffix,))
    cluster_avg_intra_dist = []
    for i in range(len(dist_table)):
        cluster_avg_intra_dist.append(dist_table[i][2])
    self.DBI = clustering_metric.DaviesBouldinIndex.compute(self, cluster_avg_intra_dist,
                                                            list(cluster_dist._weights))
    self.callback_dbi(suffix - 1, self.DBI)