mteb
1from __future__ import annotations
2
3from typing import List
4
5import numpy as np
6
7from mteb.evaluation.evaluators import ClusteringEvaluator
8
9
10class TestClusteringEvaluator:
11def test_clustering_v_measure(self):
12class Model:
13def encode(self, sentences: List[str], batch_size=32) -> np.ndarray:
14return np.eye(len(sentences))
15
16model = Model()
17sentences = ["dog walked home", "cat walked home", "robot walked to the park"]
18clusterer = ClusteringEvaluator(sentences=sentences, labels=[1, 2, 3])
19result = clusterer(model)
20
21assert result == {"v_measure": 1.0}
22