Skip to main content

Bayesian version of STAPLE

Project description

Bayesian STAPLE

An algorithm that merges raters' labelings and estimates a ground truth and the performance parameters of each rater.

Installation

pip install bstaple

Example of usage

import numpy as np 
from bstaple import BayesianSTAPLE

rater1 = [0,0,0,1,1,1,0,0,0,0,0]
rater2 = [0,0,0,0,1,1,1,0,0,0,0]
rater3 = [0,0,0,0,1,1,1,0,0,0,0]
D = np.stack([rater1, rater2, rater3], axis=-1)

bayesianSTAPLE = BayesianSTAPLE(D)
trace = bayesianSTAPLE.sample(draws=10000, burn_in=1000, chains=3)

Extract the estimated ground truth:

soft_ground_truth = bayesianSTAPLE.get_ground_truth(trace)

Plot the raters' sensitivities and specifities:

import arviz as az
ax = az.plot_forest(
    trace,
    var_names=["p", "q"],
    hdi_prob=0.95,
    combined=True
  ) 

Arguments

  • D: array of {0,1} elements
    Raters' labels. This array must have this shape:
    ( dim_1, dim_2, ..., dim_N, raters).
    The first N dimensions refer to the data labeled by the raters.
    If repeated_labeling=True the shape must be:
    (dim_1, dim_2, ..., dim_N, iterations, raters).
  • w: 'hierarchical', [0,1] or array of [0,1] elements, default='hierarchical'
    If it is "hierarchical", this probability will be considered as a random variable and it will be estimated from the sampling.
    If it is a value between 0 and 1, all the items of the ground truth will have the same probability.
    If it is an array, each item of the ground truth will have the probability specified by the array. In this case, the w-array must have shape ( dim_1, dim_2, ..., dim_N).
  • repeated_labeling: boolean, default=False:
    Set to 'True' if the raters have made labeled multiple times for the same input. In this case, the data has to have shape (dim_1, dim_2, ..., dim_N, iterations, raters).
  • alpha_p: int, array of int, optional:
    Number of true positives.
  • beta_p: int, array of int, optional:
    Number of false positives.
  • alpha_q: int, array of int, optional:
    Number of true negatives.
  • beta_q: int, array of int, optional:
    Number of false negatives.
  • alpha_w: int, array of int, optional:
    Number of labels 1 that are expected to be in the ground truth.
  • beta_w: int, array of int, optional:
    Number of labels 0 that are expected to be in the ground truth.
  • seed: int, array of int, optional:
    Seed for the sampling algorithm.

Testing the library

Point to the directory and run in the shell:

poetry install
poetry run python ./tests/test_module.py

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

bstaple-0.0.5.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

bstaple-0.0.5-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file bstaple-0.0.5.tar.gz.

File metadata

  • Download URL: bstaple-0.0.5.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for bstaple-0.0.5.tar.gz
Algorithm Hash digest
SHA256 7e8128698e23cba2a33d3068e2bf99121016a433250bb98cd5ad7de68c46d3cc
MD5 e9c74fe98b3e3b3484c51e28abcbd185
BLAKE2b-256 04f31e46540af67b995710cb720ff7afe7e076906851bffd4e596946717128ed

See more details on using hashes here.

File details

Details for the file bstaple-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: bstaple-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for bstaple-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 82e6edbcc9a4a53c158748f2f58829437add0428414b431630ed14826ee01639
MD5 e53354078f6994693f5b00cb85b0833e
BLAKE2b-256 3a4102660554a8b4f1361ed112084fb362b7da1dc9956e87ea224d9dfdef532d

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