- Data Warehousing and Data Mining Project
The project focuses on:
- understanding the structure and behavior of the wine dataset
- performing common preprocessing steps
- predicting wine quality categories using classification algorithms
- discovering hidden wine groups using clustering techniques
- comparing model behavior and interpreting results
- Dataset used:
winequality-red.csv - Location: data/raw/winequality-red.csv
- Total columns: 12
- Target column:
quality - Input features: physicochemical properties such as acidity, chlorides, sulphates, alcohol, pH, density, and sulfur dioxide measures
The project is divided into four major stages:
-
Exploratory Data Analysis
- inspect dataset shape, data types, and summary statistics
- analyze missing values, duplicates, and outliers
- study quality distribution and feature relationships
- generate EDA plots
-
Preprocessing
- check missing values
- remove duplicate rows
- handle outliers
- apply feature scaling
- save processed datasets
-
Classification
- treat
qualityas a multiclass target - split data into training and testing sets
- train and compare classifiers
- evaluate using accuracy, classification report, and confusion matrix
- save the best trained model
- treat
-
Clustering
- remove
qualityduring clustering - standardize features
- apply K-Means clustering
- choose the best number of clusters using inertia and silhouette score
- visualize clusters using PCA
- remove
-
01_EDA.ipynb Performs exploratory data analysis and generates plots for distribution, outliers, feature relationships, and correlation.
-
02_Preprocessing.ipynb Performs common preprocessing steps and saves cleaned and scaled datasets.
-
03_Classification.ipynb Performs multiclass classification, compares models, saves the best model, reloads it, and predicts a sample wine.
-
04_Clustering.ipynb Performs K-Means clustering, cluster selection analysis, PCA visualization, and clustered data export.
- Logistic Regression
- K-Nearest Neighbors
- Random Forest
- K-Means Clustering
- PCA for 2D visualization
- Accuracy
- Classification Report
- Confusion Matrix
- Inertia
- Silhouette Score
- winequality_cleaned.csv
- winequality_scaled.csv
- winequality_clustered.csv
- best_classification_model.pkl
-
EDA plots:
- quality_distribution.png
- feature_distributions.png
- feature_boxplots.png
- feature_vs_quality_boxplots.png
- correlation_heatmap.png
-
Classification plots:
- confusion_matrix_best_model.png
-
Clustering plots:
- cluster_selection_metrics.png
- kmeans_pca_clusters.png
Wine-Quality-Mining/
├─ data/
│ ├─ raw/
│ └─ processed/
├─ models/
├─ notebooks/
│ ├─ 01_EDA.ipynb
│ ├─ 02_Preprocessing.ipynb
│ ├─ 03_Classification.ipynb
│ └─ 04_Clustering.ipynb
├─ plots/
│ ├─ Eda/
│ ├─ classification/
│ └─ clustering/
├─ requirements.txt
└─ Readme.md
- Open the project in the same virtual environment used for this repository.
- Run the notebooks in order:
01_EDA.ipynb02_Preprocessing.ipynb03_Classification.ipynb04_Clustering.ipynb
- Check the generated outputs in:
data/processedplotsmodels