CoolFace
Datasetpublic

Cleanlab/student-grades

Student Grades Dataset Dataset Description This dataset contains student grade data used in the cleanlab tutorial: Improving ML Performance via Data Curation with Train vs Test Splits. The task is to predict each student's final letter grade (A, B, C, D, F) based on their exam scores and notes. Dataset Summary Total Examples: ~750 (train + test) Task: Multi-class classification Features: exam_1: Score on first exam (0-100) exam_2: Score on second… See the full description on the dataset page: https://huggingface.co/datasets/Cleanlab/student-grades.

sourceHugging Facemitupdated 9mo agoView on Hugging Face
1likes24downloads
Dataset Card

Student Grades Dataset

Dataset Description

This dataset contains student grade data used in the cleanlab tutorial: Improving ML Performance via Data Curation with Train vs Test Splits.

The task is to predict each student's final letter grade (A, B, C, D, F) based on their exam scores and notes.

Dataset Summary

  • Total Examples: ~750 (train + test)
  • Task: Multi-class classification
  • Features:
  • exam_1: Score on first exam (0-100)
  • exam_2: Score on second exam (0-100)
  • exam_3: Score on third exam (0-100)
  • notes: Categorical notes about student (e.g., "great participation +10", "cheated on exam, gets 0pts")
  • stud_ID: Unique student identifier
  • Label: noisy_letter_grade - Letter grade (A, B, C, D, F)

Dataset Structure

python
from datasets import load_dataset

dataset = load_dataset("cleanlab/student-grades")

# Access splits
train_data = dataset["train"]
test_data = dataset["test"]

# Convert to pandas
import pandas as pd
df_train = train_data.to_pandas()
df_test = test_data.to_pandas()

Data Splits

SplitExamples
train~600
test~130

Dataset Fields

  • stud_ID (string): Unique student identifier
  • exam_1 (float): First exam score (0-100)
  • exam_2 (float): Second exam score (0-100)
  • exam_3 (float): Third exam score (0-100)
  • notes (string): Categorical notes about the student
  • noisy_letter_grade (string): Final letter grade (A, B, C, D, F) - may contain label errors

Dataset Creation

This dataset was created for educational purposes to demonstrate data-centric AI techniques using cleanlab. The data intentionally contains:

  • Label noise: Some grades may be incorrectly labeled
  • Near duplicates: Some examples are very similar or exact duplicates
  • Outliers: Unusual data points that don't fit the distribution

These issues are introduced to help users learn how to detect and handle common data quality problems using cleanlab.

Uses

Primary Use Case

This dataset is designed for:

  1. 1.Learning data-centric AI techniques
  2. 2.Demonstrating cleanlab's capabilities for detecting label errors, outliers, and near duplicates
  3. 3.Teaching proper train/test data curation workflows

Example Usage

python
from datasets import load_dataset
from cleanlab import Datalab

# Load dataset
dataset = load_dataset("cleanlab/student-grades")
df_train = dataset["train"].to_pandas()

# Use cleanlab to detect issues
lab = Datalab(data=df_train, label_name="noisy_letter_grade", task="classification")
lab.find_issues()
lab.report()

Tutorial

For a complete tutorial using this dataset, see: Improving ML Performance via Data Curation with Train vs Test Splits

Licensing Information

MIT License

Citation

If you use this dataset in your research, please cite the cleanlab library:

bibtex
@software{cleanlab,
  author = {Northcutt, Curtis G. and Athalye, Anish and Mueller, Jonas},
  title = {cleanlab},
  year = {2021},
  url = {https://github.com/cleanlab/cleanlab},
}

Contact

  • Maintainers: Cleanlab Team
  • Repository: https://github.com/cleanlab/cleanlab
  • Documentation: https://docs.cleanlab.ai
  • Issues: https://github.com/cleanlab/cleanlab/issues