This project is part of the Machine Learning course requirements. The objective is to apply the full machine learning pipeline on two different datasets:
- A Classification dataset
- A Regression dataset
Each dataset is processed through data exploration, preprocessing, visualization, modeling, and evaluation phases.
-
Name: Titanic Survival Dataset
-
Source: Kaggle
-
Description: This dataset contains information about passengers aboard the Titanic. The goal is to predict whether a passenger survived or not based on features such as age, gender, class, and fare.
-
Target Variable:
Survived(0 = No, 1 = Yes)
-
Name: Diamond Prices Dataset
-
Source: Kaggle
-
Description: This dataset includes various features related to diamonds, such as carat, cut, and clarity. The goal is to predict the price of the diamond.
-
Target Variable:
Price
- Datasets were downloaded from Kaggle and Dryad
- Each dataset was inspected and described
- Columns and their meanings were analyzed
- Checked dataset structure (shape, data types)
- Identified missing values and duplicates
- Generated summary statistics
- Performed correlation analysis
- Handled missing values (imputation/removal)
- Removed duplicates and outliers
- Encoded categorical variables (e.g., One-Hot Encoding)
- Scaled numerical features
- Applied feature engineering where needed
-
Used:
- Matplotlib
-
Created:
- Histograms
- Box plots
- Decision Tree Classifier
- AdaBoost Classifier
- Linear Regression
- Decision Tree Regressor
- AdaBoost Regressor
- Accuracy
- Precision
- Recall
- F1-score
- Confusion Matrix
- Mean Absolute Error (MAE)
- Mean Squared Error (MSE)
- Root Mean Squared Error (RMSE)
- R² Score
- Python
- Pandas
- NumPy
- Matplotlib
- Scikit-learn
- Clone the repository
- Run diamond_visualization and titanic_visualization for the plots and insights
- Run preprocess_diamond and preprocess_titanic to preprocess the data before fitting into the models
- Run each model file and review the output scores
- Omar Elnainay
- Arsany Ehab
- Mariam Ahmed
- Ganna Mohamed
- Anas Radwan
- Marwan Amer
- 2 datasets (CSV format)
- 2 preprocessing files (.py)
- 2 visualization files (.py)
- 3 classification models (.py)
- 2 regression models (.py)
- Final report (.pdf)
- README.md
- Proper preprocessing significantly improves model performance
- Feature engineering plays an important role in both datasets
- Model comparison helps in selecting the best-performing algorithm
This project demonstrates the application of machine learning techniques on both classification and regression problems. It highlights the importance of data preprocessing, model selection, and evaluation in building effective predictive models.