{ "cells": [ { "cell_type": "markdown", "id": "4c7436b8", "metadata": {}, "source": [ "# Estimate Consensus and Annotator Quality for Data Labeled by Multiple Annotators" ] }, { "cell_type": "markdown", "id": "4b432513", "metadata": {}, "source": [ "This 5-minute quickstart tutorial shows how to use cleanlab for classification data that has been labeled by *multiple* annotators (where each example has been labeled by at least one annotator, but not every annotator has labeled every example). Compared to existing crowdsourcing tools, cleanlab helps you better analyze such data by leveraging a trained classifier model in addition to the raw annotations. With one line of code, you can automatically compute:\n", "\n", "- A **consensus label** for each example (i.e. *truth inference*) that aggregates the individual annotations (more accurately than algorithms from crowdsourcing like majority-vote, Dawid-Skene, or GLAD).\n", "- A **quality score for each consensus label** which measures our confidence that this label is correct (via well-calibrated estimates that account for the: number of annotators which have labeled this example, overall quality of each annotator, and quality of our trained ML models).\n", "- An analogous **label quality score** for each individual label chosen by one annotator for a particular example (to measure our confidence in alternate labels when annotators differ from the consensus).\n", "- An **overall quality score for each annotator** which measures our confidence in the overall correctness of labels obtained from this annotator.\n", "\n", "**Overview of what we'll do in this tutorial:**\n", "\n", "- Obtain initial consensus labels of multiannotator data using majority vote.\n", "- Train a classifier model on the initial consensus labels and use it to obtain out-of-sample predicted class probabilities.\n", "- Use cleanlab's `multiannotator.get_label_quality_multiannotator` function to get improved consensus labels that more accurately reflect the ground truth.\n", "- View other information about your multiannotator dataset, such as consensus and annotator quality scores, agreement between annotators, detailed label quality scores and more!\n", "\n", "**Consensus labels** represent the best guess of the true label for each example and can be used for more reliable modeling/analytics. Cleanlab automatically produces enhanced estimates of consensus through the use of machine learning.\n", "**Quality scores** help us determine how much trust we can place in each: consensus label, individual annotator, and particular label from a particular annotator. These quality scores can help you determine which annotators are best/worst overall, as well as which current consensus labels are least trustworthy and should perhaps be verified via additional annotation. \n", "\n", "This tutorial uses a toy *tabular* dataset labeled with multiple annotators but **these steps can easily be applied to image or text data**." ] }, { "cell_type": "markdown", "id": "03385f84", "metadata": {}, "source": [ "