Multi-Class Tabular Classification Model for Dry Bean Identification Using Python and XGBoost

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: The project aims to construct a predictive model using various machine learning algorithms and document the end-to-end steps using a template. The Dry Bean Identification dataset is a multi-class modeling situation where we attempt to predict one of several (more than two) possible outcomes.

INTRODUCTION: There is a wide range of genetic diversity in dry beans, the most produced one among the edible legume crops in the world. Seed classification is essential for the marketing and production of sustainable agricultural systems. The primary objective of this research study is to provide a method for obtaining uniform seed varieties from crop production. The research team developed a computer vision system to classify seven different types of dry beans with similar features. For the classification model, the researchers used a high-resolution camera to gather 13,611 images of dry beans.

ANALYSIS: The performance of the preliminary XGBoost model achieved an accuracy benchmark of 92.61%. After a series of tuning trials, the final model processed the training dataset with an accuracy score of 92.97%. When we processed the test dataset with the final model, the model achieved an accuracy score of 91.77%.

CONCLUSION: In this iteration, the XGBoost model appeared to be a suitable algorithm for modeling this dataset.

Dataset Used: Dry Bean Dataset

Dataset ML Model: Multi-Class classification with numerical features

Dataset Reference:

One source of potential performance benchmarks:

The HTML formatted report can be found here on GitHub.