evaluate() computes the Davies–Bouldin index using Dij(i, :) after the loop, where i is the stale loop variable (ends at k-1). This uses only one row instead of all clusters.
Current code:
this.CriterionValues(iter) = sum (max (Dij(i, :), [], 2)) / ...
this.InspectedK(iter);
Impact
DB index is underestimated/incorrect
Only one term of the sum is used instead of all k clusters. I would be working on this issue
evaluate()computes the Davies–Bouldin index using Dij(i, :) after the loop, where i is the stale loop variable (ends at k-1). This uses only one row instead of all clusters.Current code:
Impact
DB index is underestimated/incorrect
Only one term of the sum is used instead of all k clusters. I would be working on this issue