Multi-Class Classification Model for Crop Mapping in Canada Using TensorFlow Take 2

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

SUMMARY: The purpose of this project is to construct a predictive model using various machine learning algorithms and to document the end-to-end steps using a template. The Crop Mapping in Canada dataset is a multi-class classification situation where we are trying to predict one of several (more than two) possible outcomes.

INTRODUCTION: This data set is a fused bi-temporal optical-radar data for cropland classification. The organization collected the images using RapidEye satellites (optical) and the Unmanned Aerial Vehicle Synthetic Aperture Radar (UAVSAR) system (Radar) over an agricultural region near Winnipeg, Manitoba, Canada in 2012. There are 2 x 49 radar features and 2 x 38 optical elements for two dates: 05 and 14 July 2012. Seven crop type classes exist for this data set as follows: 1-Corn; 2-Peas; 3-Canola; 4-Soybeans; 5-Oats; 6-Wheat; and 7-Broadleaf.

In the previous Scikit-Learn iterations, we constructed and tuned machine learning models for this dataset using the Scikit-Learn and the XGboost libraries. We also observed the best accuracy result that we could obtain using the tuned models with the training, validation, and test datasets.

In iteration Take1, we constructed and tuned machine learning models for this dataset using TensorFlow with three layers. We also observed the best accuracy result that we could obtain using the tuned models with the validation and test datasets.

In this Take2 iteration, we will construct and tune machine learning models for this dataset using TensorFlow with four layers. We will observe the best accuracy result that we can obtain using the tuned models with the validation and test datasets.

ANALYSIS: From the previous Scikit-Learn iterations, the optimized Extra Trees model processed the testing dataset with an accuracy of 99.74%. The optimized XGBoost model processed the testing dataset with an accuracy of 99.84%.

From iteration Take1, the performance of the three-layer TensorFlow model achieved an accuracy score of 99.82% with the training dataset. After a series of tuning trials, the TensorFlow model processed the validation dataset with an accuracy score of 99.83%, which was consistent with the prediction from the training result. When configured with the optimized parameters, the TensorFlow model processed the test dataset with an accuracy score of 99.84%, which was consistent with the prediction results from the training and validation phases.

From this Take2 iteration, the performance of the four-layer TensorFlow model achieved an accuracy score of 99.72% with the training dataset. After a series of tuning trials, the TensorFlow model processed the validation dataset with an accuracy score of 99.82%, which was consistent with the prediction from the training result. When configured with the optimized parameters, the TensorFlow model processed the test dataset with an accuracy score of 99.85%, which was consistent with the prediction results from the training and validation phases.

CONCLUSION: For this dataset, the four-layer TensorFlow model achieved a satisfactory result, and we should consider using it for future modeling activities.

Dataset Used: Crop Mapping in Canada Data Set

Dataset ML Model: Multi-Class classification with numerical attributes

Dataset Reference: https://archive.ics.uci.edu/ml/datasets/Crop+mapping+using+fused+optical-radar+data+set

The HTML formatted report can be found here on GitHub.