Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ETL

Overview

This project involves creating and managing a small database using MariaDB and performing data mining tasks using Python and Jupyter Notebook. The goal is to transform raw data into meaningful insights and predictions through the ETL (Extract, Transform, Load) process and statistical analysis.

Project Components

Database Creation: Load the given CSV files into MariaDB and create a relational database based on the provided ER-Diagram.

Data Transformation and Cleansing: Extract, clean, and transform the raw data to address quality issues and make it 
suitable for further analysis.

Descriptive and Predictive Analytics:
    Perform descriptive data mining to uncover patterns and insights.
    Build a predictive model using linear regression to forecast student performance in future assignments.

Software Requirements

MariaDB: To create and manage the relational database.
Python: For data analysis and predictive modeling.
Jupyter Notebook: For interactive data mining and visualization.
Required Python Libraries:
    pandas
    numpy
    matplotlib
    seaborn
    scikit-learn

Part 1: Load Data into MariaDB

1. Import the CSV files into MariaDB.
2. Create tables based on the schema described in the ER-Diagram.
3. Ensure primary and foreign key constraints are properly defined.

Part 2: Data Transformation and Cleansing

1. Validation Checks:
    Completeness: Check for missing values and report exceptions.
    Validity: Ensure proper data types, date ranges, and key integrity.
    Consistency: Validate relationships between tables using primary and foreign keys.
    Uniqueness: Check for duplicate entries and report issues.
    
2. Transform Data:
  a. Aggregate and join data as needed.
  b. Create a cleaned dataset ready for analysis.

3. Handle Specific Exceptions:
    Remove or report invalid entries as per the validation requirements outlined in the project description.

Part 3: Descriptive Analytics

1. Use Jupyter Notebook to perform descriptive analytics on the transformed data.
2. Visualize insights using libraries like matplotlib and seaborn.
3. Document patterns and trends in the data.

Part 4: Predictive Analytics

1. Use the historical performance data to build a linear regression model:
    Input: Effort (hours spent on an assignment).
    Output: Predicted score.
2. Train and validate the model using scikit-learn.
3. Predict the scores for specific students (e.g., SID20131151, SID20149500, SID20182516) assuming 10 hours of effort.

Part 5: Reporting

1. Generate a report summarizing:
    a. Data cleansing efforts and exceptions identified.
    b. Descriptive analytics findings.
    c. Predictive model results.
2. Include visualizations and tables to support your conclusions.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages