Python code implementing the algorithms presented in our AISTATS-24 paper titled "Clustering Items From Adaptively Collected Inconsistent Feedback." These algorithms cluster a set of items using pairwise similarity feedback from an oracle.
Run poetry install
. This installs numpy
, scipy
, scikit-learn
, and tqdm
. Alternatively, you can install these packages manually.
- Create a configuration file like
example_config.json
- Run
poetry run python run.py path/to/config.json
The output, consisting of key-value pairs, will be stored as a *.pkl
file that can be read using the pickle
package. The keys are named so that their purpose is self-explanatory. To load the output file, use something like:
import pickle
output = pickle.load(open("output.pkl", "rb"))
|-- clban
| |-- algorithms.py # Implements the algorithms
| |-- oracle.py # Implements the oracle
| |-- experiment.py # Implements the experimental setup
| |-- utils.py # Utility functions for evaluation
|
|-- run.py # For running a single configuration
|-- example_config.json # An example configuration file