(y_true, y_pred)
| 20 | # Evaluation Criteria |
| 21 | # ------------------------------- |
| 22 | def evaluate_clustering(y_true, y_pred): |
| 23 | |
| 24 | start = time.time() |
| 25 | print('Computing metrics...') |
| 26 | if len(set(y_pred)) < 1000: |
| 27 | acc = cluster_acc(y_true.astype(int), y_pred.astype(int)) |
| 28 | else: |
| 29 | acc = None |
| 30 | |
| 31 | nmi = nmi_score(y_true, y_pred) |
| 32 | ari = ari_score(y_true, y_pred) |
| 33 | pur = purity_score(y_true, y_pred) |
| 34 | print(f'Finished computing metrics {time.time() - start}...') |
| 35 | |
| 36 | return acc, nmi, ari, pur |
| 37 | |
| 38 | |
| 39 | def cluster_acc(y_true, y_pred, return_ind=False): |
nothing calls this directly
no test coverage detected