/IRIS_FLOWER

The iris flower classification

Primary LanguageMATLAB

IRIS_FLOWER

The iris flower classification

Objective:

   1) Build a regression model for the IRIS FLower Classification
   2) To generate an ANN(Artificial neural network) for the same.

Data Set:

    https://archive.ics.uci.edu/ml/datasets/iris

Software and Repositories:

    1) MATLAB
    2) Deep Learning Toolbox

INTRODUCTION:

    This is perhaps the best known database to be found in the pattern recognition literature. Fisher's 
paper is a classic in the field and is referenced frequently to this day.
The data set contains 3 classes of 50 instances each, where each class refers to a type of iris plant. One
class is linearly separable from the other 2; the latter are NOT linearly separable from each other.
    
Attributes Information:

  *sepal length in cm
  *sepal width in cm
  *petal length in cm
  *petal width in cm
  *class: Setosa / Versicolour / Virginica
  
  Note:
    part of the dataset is saved as a test set.

PART-1: Logistic Regression Model

functions list:

iris_lrClassifier_script.m
          This script loads the data from the file 'data2.txt' which has the tag '1' marked for Setosa,'2'
          for Versicolour and '3' for Virginica. The script then calls the oneVSall function to implement 
          a logictic regression classifier.The predict function then predicts the tag value based on the 
          implemented regression model.
          Finally it saves the all_theta variable.
lrCostFunction.m
          This is the logistic regression cost function that reutrns the value of the gradient and the 
          cost of the model.
oneVSall.m
          This function creates the classifier by reducing the cost(J) value using the gradient and 
          returns the value of all_theta.
predict.m
          This functions predicts the tag based on the probability generated by the all_theta attribute.
testset.m
          This function is used to analyse the correctness of the built parameter on the test set.
sigmoid.m
            The sigmoid function.
iris_function.m
            Returns the tag value after inputing the attributes.
iris.m
            Returns the nature of the flower based on the attributes provided.

PART-2: Implementing ANN using the Deep Learning Toolbox.

iris_final.mat
            The final ANN trained using the Deep Learning Toolbox

RESULT:

     1) Implemented a Multivariate Logistic Regression model with over 85% accuraccy in the test set.
     2) Implemented an ANN with more than 90% accuracy in the test set.

References:

      https://www.coursera.org/learn/machine-learning
      https://in.mathworks.com/help/deeplearning/getting-started-with-deep-learning-toolbox.html