This project focuses on classifying different varieties of dry beans using machine learning techniques. Morphological features of dry beans are used to train and evaluate multiple classification models, and the best-performing model is deployed as a web application.
- Python
- NumPy
- Pandas
- Matplotlib / Seaborn
- Scikit-learn
- CatBoost
- Jupyter Notebook
- Sreamlit
- Dataset Name: Dry Bean Dataset
- Source: UCI Machine Learning Repository
- Number of Instances: ~13,000
- Number of Features: 16 numerical features
- Target Variable: Bean class (multi-class)
- Dataset: Dry Bean Dataset
- Data loading and understanding
- Exploratory Data Analysis (EDA)
- Data Preprocessing
- Feature scaling and data splitting
- Baseline model implementation
- Model evaluation and comparison
- Hyperparameter tuning
- Final model selection
- Feature Importance Analysis
- Model deployment using Streamlit
- Data shape and basic inspection
- Missing value handling
- Statistical summary
- Feature distribution analysis
- Correlation analysis
- Logistic Regression
- K-Nearest Neighbors (KNN)
- Naive Bayes
- Decision Tree
- Random Forest
- Support Vector Machine (SVM)
- CatBoost
The models were evaluated using:
- Accuracy
- Precision (Weighted)
- Recall (Weighted)
- F1-score (Weighted) Results were compared in a single consolidated table
- Models were evaluated using Accuracy and Weighted F1-Score
- Support Vector Machine (SVM) achieved the best overall performance
- Hyperparameter tuning further improved model generalization
- The final SVM model was saved using Pickle (
model.pkl) - A Streamlit web application (
app.py) was created - Deployment was done using Streamlit Community Cloud
- Users can input feature values and obtain real-time predictions via a browser
- app.py # Streamlit application
- model.pkl # Trained ML model
- requirements.txt # Required libraries
- README.md # Project documentation
- Dry_Bean_Project.ipynb # Jupyter notebook
- Dry_Bean_Dataset.xlsx #raw dataset
- SVM achieved the highest test performance among all models (~92%)
- The model effectively classifies dry bean varieties with high accuracy and F1-score
- Reduced overfitting through hyperparameter tuning
- Balanced performance across multiple classes
This project demonstrates the effectiveness of machine learning in agricultural classification problems and provides a practical deployment-ready solution using Streamlit.
- Name: Fathima Salga
- Project Type: Machine Learning Mini Project