C++ Iris Flower Predictor

A medium-sized C++ program that can predict what kind of Iris Flower you have!

A demo of the program running a prediction.

Project Purpose

This C++ program that will predict what kind of Iris Flower you have by taking the length and width of the Sepal and Petal of the flower that you have and the Iris-Dataset csv file for data to power its predictions. This program exercises Machine Learning by taking in values for a new Iris flower, using data from the famous iris dataset, and it runs calculations on the input. Afterwards, it will show how confidient it is in its prediction, and then a user can choose to add the new flower in as the type it is most sure that it is. I made this program to begin learn the basics of machine learning and AI, and because I wanted a bit of a challenge by using C++ instead of Python!
(There is an older version of this program I made in a procedual manner and without vectors, but I decided to redo the program in an OOP structure and using vectors instead of just 2D arrays.)

Practiced Skills

  • Object-Oriented Programming (OOP)
  • Control Structures
  • Memory Management
  • Function Overloading and Default Parameters
  • Statistical Analysis
  • Gaussian (Normal) Distribution
  • Likelihood Estimation
  • Confidence Calculation
  • Feature Extraction
  • Predictive Modeling

Future Plans

This project has been one of my favorites for a while, as it let me really tap into the world of AI and exercise my brain! Although this project has techinally gone as far as I plan to take it, I would like to embed the program into a small web application to allow users to test it out! Furthermore, I will take the skills and methods that I learned from developing this program and apply them to my future projects!