Machine Learning

Project Overview

This project required writing at least one machine learning algorithm in order to make one or more kinds of predictors for the output results, of a random seed generation from the Iris Dataset. The options for algorithms to incorporate included: general decision trees, ID3 decision trees, neural networks, entropy, information gain and a confusion matrix. This project was coded in Python.

There were examples provided of the different types of machine learning algorithms that could be used for this project, and I integrated all of these options in writing the code for this project.

Define & Ideate

The nature of this project was quite vague, and only instructed that a machine learning algorithm be written using the "Iris Dataset" and that a predictor be used for it. This meant it left the decision for how to achieve this, up to each individual student's discretion. To achieve this, a number of different predictors and functions were chosen, to ensure added success and reliability to the predictions made, that a single predictor and function would be incapable of achieving.

The full scope of what was to be coded for the project was not defined clearly enough initially, which resulted in a mistakenly believed completion upon the fulfilment of the minimum project objectives. To go beyond these minimum requirements, extra functions, predictors and entropy, was added to the code following this.

Test

The testing was done throughout this project, to ensure that all the added functions and predictors worked as intended, and achieved results that were indicative of a successful machine learning algorithm. The decision to implement repeated testing, with adjustments and additions being made following each test being run, is a primary contributing factor for the success of the machine learning code and this project.

Due to the nature and size of this coding project, the testing often needed to be done at each stage and individual functions implemented to ensure it worked as intended, rather than at the conclusion of larger sections or the completion of the fully coded project, to maximise efficiency and minimise wasted time and effort.

Notable Results

The result was a highly successful predictor, with the ID3 Decision Tree predictor averaging over 80% accuracy and the Extension Type B Neural Network averaging 70% accuracy. Amongst other aspects, it also had an Extension Type B Neural Network Confusion Matrix included in the programmed code.

The high accuracy demonstrates the success of this project, which is further exemplified by it being fundamentally an individual project, and my first time experiencing coding a machine learning program or predictive program.

Resources

https://bit.ly/GoogleCollab-MachineLearning-NoahKoshy-ReadOnlyAccess

This link is a read-only access, that will let you test run the program, to this machine learning project, (Google sign-in is required).