In your code, the value of NMI is calculated using the cluster labels generated by the two iterations, unlike in most articles, which use the predicted labels with the true labels to calculate NMI and several other metrics. I tried to modify your code to adopt the latter approach for the NMI calculation and found that the results became worse.
In your code, the value of NMI is calculated using the cluster labels generated by the two iterations, unlike in most articles, which use the predicted labels with the true labels to calculate NMI and several other metrics. I tried to modify your code to adopt the latter approach for the NMI calculation and found that the results became worse.