Skip to content

docs: add student exam performance profiling example notebook - #1862

Open
Aditya-maheshwari-xd wants to merge 6 commits into
Data-Centric-AI-Community:developfrom
Aditya-maheshwari-xd:docs/add-student-performance-example
Open

docs: add student exam performance profiling example notebook#1862
Aditya-maheshwari-xd wants to merge 6 commits into
Data-Centric-AI-Community:developfrom
Aditya-maheshwari-xd:docs/add-student-performance-example

Conversation

@Aditya-maheshwari-xd

@Aditya-maheshwari-xd Aditya-maheshwari-xd commented Sep 5, 2026

Copy link
Copy Markdown

Description

This PR adds a new example notebook demonstrating how to use fg-data-profiling on the UCI Student Performance dataset.

Why this is useful

I noticed the examples folder could benefit from a demonstration using an educational dataset. This notebook shows how to:

  1. Programmatically download a dataset using the project's built-in cache_file utility for seamless reproducibility in CI (no external credentials required).
  2. Generate a comprehensive data quality and correlation report.
  3. Extract descriptive data profiling insights (e.g., identifying distributions, missingness patterns, and correlations between variables) without making causal claims.

Dataset & Licensing

  • Dataset: UCI Student Performance (Math course) by Cortez & Silva (2008).
  • License: Creative Commons Attribution 4.0 International (CC BY 4.0).
  • Source: Loaded via a stable public raw URL to ensure it runs cleanly without kagglehub credentials.

Checklist

  • Notebook runs without errors using the latest version of the library.
  • Dataset is downloaded programmatically via data_profiling.utils.cache.cache_file.
  • Package imports use from data_profiling import ProfileReport (no ydata-profiling references).
  • Code is clean, commented, and follows PEP 8 standards.
  • Markdown cells explain the data context and provide descriptive insights based strictly on the generated report.
  • Notebook is located in the correct directory structure: examples/student_exam_performance/student_exam_performance.ipynb.

Thank you for reviewing! Let me know if any further changes or adjustments are needed.

@fabclmnt
fabclmnt self-requested a review September 11, 2026 17:03

@fabclmnt fabclmnt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for contributing! Another example is always welcome, but I have a few asks.

Naming and layout: examples are organised one folder per dataset,
examples//.ipynb (see titanic/, meteorites/,
usaairquality/). Analysis_0.ipynb doesn't say what the example does.
Please move it to examples/student_exam_performance/student_exam_performance.ipynb.

Package: the notebook installs and imports ydata-profiling from PyPI,
which is older package, not this one. Examples must exercise
this repo: from data_profiling import ProfileReport, and drop the
!pip install cell or updated it to use the correct package from pypi - https://pypi.org/project/fg-data-profiling/.

Dataset: we can only ship examples on datasets with an explicit
permissive licence. Please state the licence of the Kaggle dataset in
the PR; it isn't visible on the public page, and re-uploads often
can't be relicensed by the uploader. kagglehub is also a problem on
its own, as it requires Kaggle credentials, so the notebook isn't
runnable for most users or in CI. Use the existing loader with a
stable public URL:

from data_profiling.utils.cache import cache_file
file_name = cache_file("student_performance.csv", "<url>")

If the license can't be confirmed, UCI's Student Performance dataset
(Cortez & Silva) is CC BY 4.0 and covers the same ground.

One more: the insights cell reads mental-health variables as
affecting outcomes. Keep example commentary to what the profile
shows, distributions, missingness, correlations, without causal
claims.

@Aditya-maheshwari-xd

Copy link
Copy Markdown
Author

Hi @fabclmnt, thank you again for the detailed and constructive review!
I have addressed all the requested changes:

  1. Layout: Moved and renamed the notebook to examples/student_exam_performance/student_exam_performance.ipynb.

  2. Package: Removed the old ydata-profiling install and updated the import to from data_profiling import ProfileReport.

  3. Dataset & Licensing: Replaced kagglehub with the cache_file utility. I am now using the UCI Student Performance dataset (Cortez & Silva, 2008), which is explicitly licensed under CC BY 4.0. I added a Markdown cell in the notebook documenting this source and license. The data is loaded via a stable public raw URL, ensuring it will run cleanly in CI without credentials.

  4. Commentary: Revised the insights markdown cell to focus strictly on distributions, missingness, correlations, and data quality (e.g., noting the 0% missingness, the right-skew of absences, and the G1/G2/G3 multicollinearity). I removed all causal claims and framed the recommendations purely around the data science workflow.

  5. PR Description: Updated the main PR description to accurately reflect all of these changes,including the correct package name,the cache_file utilituy, and the dataset's BY CC 4.0 license

Please let me know if there’s anything else I should adjust. Thanks again for the guidance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants