在Java中,可以使用K-means算法對數據進行聚類。為了評估聚類效果,可以采用輪廓系數(Silhouette Score)、Davies-Bouldin Index(DBI)等指標。
輪廓系數用于衡量聚類效果的好壞,其值范圍為[-1, 1]。輪廓系數越接近1,表示聚類效果越好;越接近-1,表示聚類效果越差。輪廓系數的計算公式如下:
silhouetteScore = (sum of (a - b) / max(a, b)) / sum of (a - b)
其中,a表示同一簇內任意兩點之間的距離,b表示不同簇內任意兩點之間的距離。
Davies-Bouldin Index(DBI)用于衡量聚類效果的另一個指標,其值越小表示聚類效果越好。DBI的計算公式如下:
dbi = (1/n) * sum(max(d(i), d(j)) / min(d(i), d(j)))
其中,n表示數據點的數量,d(i)表示點i與其他點的距離之和,d(j)表示點j與其他點的距離之和。