This project predicts the quality of white wine using an Artificial Neural Network (ANN). It leverages TensorFlow/Keras, Hyperopt for hyperparameter tuning, and MLflow for experiment tracking and model management.
Predict the quality score of white wine based on its physicochemical features using a regression model.
- Compare all runs (each with different hyperparameters)
- Visualize loss curves and metrics using MLflow UI
- Download and reuse the best model with its exact configuration
- ANNs can effectively model non-linear relationships in regression problems.
- Hyperopt + MLflow is a powerful combo for efficient model tuning and tracking.
- Model signatures ensure reproducibility and compatibility in MLflow.
- Model registration allows easy deployment and version control in production.
- TensorFlow / Keras — For building the ANN
- Hyperopt — For automated hyperparameter optimization
- MLflow — For experiment tracking and model logging
- NumPy / Pandas — For data preprocessing
- Matplotlib / Seaborn (optional) — For data visualization
- White Wine Quality Dataset from UCI ML Repository
- Contains 11 physicochemical features and a quality score (0–10)
-
Data is loaded and normalized.
-
A 3-layer ANN is defined.
-
Learning rate and momentum are tuned using Hyperopt.
-
Every training run is tracked in MLflow, including:
- Parameters (learning rate, momentum)
- Evaluation metric (RMSE)
- Model artifact with signature
-
The best model is logged and can be reused/deployed.
- ✅ Convert into a pipeline using MLflow Projects
- ✅ Extend to red wine dataset or combine both
- ✅ Experiment with other optimizers like Adam, RMSprop
- ✅ Deploy the model using
mlflow.pyfuncor Docker container
Arun Shukla
-
Frontend Engineer | ML Explorer | AZ-900 Certified
-
GitHub: @anshu1016
This project is licensed under the MIT License.