Benchmarking vectorizer performance on Alzheimer's disease concept definitions
Project description
Alzheimer's Disease Harmonization Text Embedding Benchmark
About
ADHTEB (Alzheimer’s Disease Harmonization Text Embedding Benchmark) is a Python package designed to evaluate the performance of text-embedding models in harmonizing variable descriptions from diverse cohorts in the context of Alzheimer’s disease.
As general purpose benchmarks often lack domain-specific evaluation for clinical data, this benchmark is specifically designed to evaluate the performance of embedding models for harmonization or clustering of data descriptins in a clinical setting.
Installation
pip install adhteb
Usage
Import a model
Models that are published on huggingface can be directly imported using the HuggingFaceVectorizer class.
from adhteb import HuggingFaceVectorizer
vectorizer = HuggingFaceVectorizer(
model_name="sentence-transformers/all-MiniLM-L6-v2",
)
Alternatively, you can implement your own vectorizer by implementing the get_embedding method of the base class.
from adhteb import Vectorizer
class MyVectorizer(Vectorizer):
def get_embedding(self, text: str) -> list[float]:
# Implement your embedding logic here
my_vector = []
return my_vector
Running the benchmark
You can run the benchmark and display the results using only a few lines of code.
from adhteb import Benchmark
benchmark = Benchmark(vectorizer=vectorizer)
benchmark.run()
print(benchmark.results_summary())
+------------------+-------+--------------------+
| | AUPRC | Zero-shot Accuracy |
+------------------+-------+--------------------+
| GERAS | 0.35 | 0.65 |
| PREVENT Dementia | 0.19 | 0.48 |
| PREVENT AD | 0.22 | 0.39 |
| EMIF | 0.29 | 0.54 |
+------------------+-------+--------------------+
Aggregate Score: 0.39
Publishing your results
You can check how your results compare to other models on the public leaderboard here: https://adhteb.scai.fraunhofer.de
You are also able to publish your benchmark results together with metadata on yout tested model:
from adhteb import Benchmark, ModelMetadata
model_name= "my-model-name"
url="https://huggingface.co/my-model-name"
model_metadata = ModelMetadata(model_name=model_name, url=url)
benchmark.publish(model_metadata=model_metadata)
Private Cohorts
As some of the cohort metadata presented in this benchmark is not available publicly, we do by default encrypt private metadata. We are working on finding and extending our benchmark with open, publicly available data as well, which is being used by the benchmark by default. If you want to include results from the private cohorts as well, you can either:
- Open a new issue to benchmark a specific model on private cohort data. We will run the benchmark on the non-public data for you and report the results based on your issue (publicly or privately).
- Get access to the individual cohorts by the data holders and contact us to get an decryption key for the benchmark. You can then run the private benchmark cohorts along the public ones by using the following flag and providing the key:
from adhteb import Benchmark
benchmark = Benchmark(vectorizer=vectorizer, include_private=True, decryption_key=KEY_STRING)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adhteb-0.0.4.tar.gz.
File metadata
- Download URL: adhteb-0.0.4.tar.gz
- Upload date:
- Size: 25.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43d5a6784831f8fec831909e31472c964d47f998771e9ad9a6c4655f47edc720
|
|
| MD5 |
2883f681afdab07fcf92f741320513a4
|
|
| BLAKE2b-256 |
3b964c653a7f374e21b6d0c7927bf3d69e697289a94d1536d10aa681781c41ed
|
File details
Details for the file adhteb-0.0.4-py3-none-any.whl.
File metadata
- Download URL: adhteb-0.0.4-py3-none-any.whl
- Upload date:
- Size: 26.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
208336c986a0d93fb5af5e9b927ce7f4b892420fb258d871e205bd72d70f0a11
|
|
| MD5 |
531562086e8218b96cf10cfb984478d9
|
|
| BLAKE2b-256 |
f67491dd5103d60059872bbd5ead06f7f9fda8af21978a3d99e2544babab2077
|