Simple Classification Model for the Sonar Dataset with Python

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

For more information on this case study project, please consult Dr. Brownlee’s blog post at

Dataset Used: Connectionist Bench (Sonar, Mines vs. Rocks) Data Set

ML Model: Classification, numeric inputs

Dataset Reference:

The Sonar Dataset involves the prediction of whether or not an object is a mine or a rock given the strength of sonar returns at different angles. It is a binary (2-class) classification problem.

The baseline performance of predicting the most prevalent class is a classification accuracy of approximately 53%. Top results achieve a classification accuracy of approximately 88%.

The purpose of this project is to analyze a dataset using various machine learning algorithms and to document the steps using a template. The project aims to touch on the following areas:

  • Document a regression predictive modeling problem end-to-end.
  • Explore data transformation options for improving model performance
  • Explore algorithm tuning techniques for improving model performance
  • Explore using and tuning ensemble methods for improving model performance

The HTML formatted report can be found here on GitHub.