Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Student Performance Analysis

Project Overview

This project explores Student Examination Performance using Python and Exploratory Data Analysis (EDA).

The analysis investigates patterns in mathematics, reading, and writing scores and examines how student performance varies across factors such as test preparation, gender, parental level of education, race/ethnicity, and lunch type.

The project demonstrates a complete beginner data-analysis workflow, including data inspection, feature engineering, exploratory analysis, visualization, correlation analysis, and interpretation of results.


Objectives

The objectives of this project are to:

  • Understand the structure of the dataset.
  • Check for missing values and review data types.
  • Calculate total and average student scores.
  • Compare academic performance across different student groups.
  • Create visualizations to identify key trends.
  • Analyse correlations between mathematics, reading, and writing scores.
  • Summarize key findings from the analysis.

Tools and Technologies

  • Python
  • Pandas
  • Matplotlib
  • Seaborn
  • Jupyter Notebook
  • Git & GitHub

Dataset

The dataset contains 1,000 student records and includes the following original variables:

  • Gender.
  • Race/Ethnicity.
  • Parental Level of Education.
  • Lunch Type.
  • Test Preparation Course.
  • Mathematics Score..
  • Reading Score
  • Writing Score.

Two additional features were created during the analysis:

  • total_score — sum of mathematics, reading, and writing scores.
  • average_score — overall average across the three subjects.

Analysis Performed

The project includes:

  1. Data loading and inspection.
  2. Missing-value analysis.
  3. Data-type inspection.
  4. Descriptive statistics.
  5. Feature engineering.
  6. Exploratory Data Analysis (EDA).
  7. Group comparisons.
  8. Data visualization.
  9. Correlation analysis.
  10. Reading vs. writing scatter-plot analysis.

Key Findings

Test Preparation

Students who completed the test preparation course achieved an average score of approximately 72.7, compared with approximately 65.0 among students who did not complete the course.

Gender

Female students recorded an overall average score of approximately 69.6, compared with approximately 65.8 for male students.

Parental Education

Student performance varied across parental education categories. The master's degree category recorded one of the highest average scores at approximately 73.6, while the high-school category averaged approximately 63.1.

Race/Ethnicity

Average performance varied across the dataset's race/ethnicity groups. Group E recorded the highest average at approximately 72.8, while Group A recorded approximately 63.0.

These results are descriptive and should not be interpreted as evidence that race/ethnicity causes differences in academic performance.

Lunch Type

Students receiving a standard lunch recorded an average score of approximately 70.8, compared with approximately 62.2 among students receiving free/reduced lunch.


Correlation Analysis

Mathematics, reading, and writing scores showed positive correlations.

Subjects Correlation
Mathematics & Reading 0.82
Mathematics & Writing 0.80
Reading & Writing 0.95

The strongest relationship was observed between reading and writing scores, with a correlation of approximately 0.95.


Key Insight

The analysis suggests that academic performance is associated with several factors in this dataset, including test preparation, lunch type, and parental education.

Reading and writing performance also show a particularly strong positive relationship.

These findings demonstrate associations rather than direct cause-and-effect relationships.


Skills Demonstrated

This project demonstrates practical experience with:

  • Data manipulation using Pandas.
  • Data inspection and cleaning.
  • Feature engineering.
  • Descriptive statistics.
  • groupby() operations.
  • Exploratory Data Analysis.
  • Matplotlib visualizations.
  • Seaborn heatmaps.
  • Correlation analysis.
  • Data interpretation.
  • Communicating analytical findings.

Running the Project

To run the analysis:

  1. Download or clone this repository.

  2. Ensure Python and Jupyter Notebook/JupyterLab are installed.

  3. Install the required libraries:

    pip install pandas matplotlib seaborn

  4. Open StudentsPerformanceAnalysis.ipynb.

  5. Run all notebook cells from top to bottom.


Important Note

The analysis is exploratory and observational. Differences between groups represent patterns within this dataset and should not be interpreted as proof of causal relationships.


Author

Mapula Mokoma

Data Science Portfolio Project

About

Exploratory Data Analysis of student exam performance using Python, Pandas, Matplotlib and Seaborn to identify performance trends and correlations.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages