Skip to main content

Tools for benchmark prediction with fewer data.

Project description

Benchmark Prediction with Fewer Data

BenchPred is a Python package that provides a suite of tools to predict benchmark performances with fewer data. It provides all methods that we examined in our paper.

Our results shows that, these methods are most proficient at interpolating scores among similar models. However, except Random-Sampling and AIPW, all methods face significant difficulties when predicting target models that differ substantially from those they have encountered before.

We caution against the indiscriminate use of benchmark prediction techniques and recommend to use AIPW or, alternatively, Random-Sampling with a larger sampling budget.

Installation

Install the package with the following command,

pip install -e .

or only install the requirements,

pip install -r requirement.txt

Example Usage

from benchpred import all_methods


method = all_methods["aipw"]()
method.fit(
    source_full_scores,  # (n_source_model * n_data) binary matrix
    coreset_size=50,  
    seed=42
)
coreset = method.get_coreset()
target_coreset_scores = ...  # (n_target_model * coreset_size) binary matrix based on coreset
pred_acc = method.predict(target_coreset_scores)

Quick Start

python main.py --dataset_name imagenet --coreset_size 50 --no-multi_process --methods aipw --num_run 1 --seed_start 0 --no-use_git

The supported methods are listed as follows,

  • Random-Sampling: --methods random_sampling
  • AIPW: --methods aipw
  • Random-Sampling-Learn: --methods random_sampling_and_learn
  • Random-Search-Learn: --methods random_search_and_learn
  • PCA: --methods pca
  • Lasso: --methods lasso
  • Double-Optimize: --methods double_optimize
  • Anchor-Points-Weighted: --methods anchor_points_weighted
  • Anchor-Points-Predictor: --methods anchor_points_predictor
  • PIRT: --methods pirt
  • GPIRT: --methods gpirt

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

benchpred-1.0.0.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

benchpred-1.0.0-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file benchpred-1.0.0.tar.gz.

File metadata

  • Download URL: benchpred-1.0.0.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for benchpred-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2b91872e0b8e5cbaa0cc04c0860ea60d9c8773d3ed6805d8e781b1e13377eefe
MD5 09b3a09a5c91b5467604e9fa9f5b6703
BLAKE2b-256 911b9537427848d1009bbb37d9f0038909be3ce2f76c4890da6925687da1d287

See more details on using hashes here.

File details

Details for the file benchpred-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: benchpred-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 34.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for benchpred-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c152bcc785f525a3866c2a3546e4db5c3bbceb7b23754a5cbc721c44f38e1a9
MD5 68143ed219439ab24471862eba939be2
BLAKE2b-256 9c184e71d7acdb676e5aaa2a90f306753a1e0f8612fb9cf371881f4a0d96cdc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page