/CZ4041--Machine-Learning

The project for NTU's course on Machine Learning, CZ4041

Primary LanguageJupyter Notebook

Kaggle - Plant Seedling Classification

CZ/CE 4041 Machine Learning
School of Computer Science and Engineering
Nanyang Technological University, Singapore

This GitHub repository contains both the code (Jupyter Notebooks) and submissions (CSV Files) for the Kaggle Plant Seedling Classification Challenge.

Methodologies

Note: All notebooks were created on the Kaggle/Google Colab platforms where they fetch data from the Kaggle/Google Drive directories. It will not work by default on the Jupyter Notebook Platform.

Approach 1: k-Means Clustering

Navigate to code/k-means-clustering.ipynb

  1. Create a new Kaggle Notebook by clicking on the + New Notebook button here.
  2. Go to File --> Open Notebook and upload our .ipynb file.
  3. Add data by clicking on the + Add Data button on the right pane, and search for Plant Seedling Classification under Competiton Data.
  4. Run all cells.

Approach 2: kNN

Navigate to code/kNN.ipynb

  1. Create a new Kaggle Notebook by clicking on the + New Notebook button here.
  2. Go to File --> Open Notebook and upload our .ipynb file.
  3. Add data by clicking on the + Add Data button on the right pane, and search for Plant Seedling Classification under Competiton Data.
  4. Run all cells.

Approach 3: Support Vector Machine

Navigate to code/support_vector_machine.ipynb

  1. Create a new Kaggle Notebook by clicking on the + New Notebook button here.
  2. Go to File --> Open Notebook and upload our .ipynb file.
  3. Add data by clicking on the + Add Data button on the right pane, and search for Plant Seedling Classification under Competiton Data.
  4. Run all cells.

Approach 4: Convolutional Neural Network

Navigate to code/CNN.ipynb

  1. Create a new Kaggle Notebook by clicking on the + New Notebook button here.
  2. Go to File --> Open Notebook and upload our .ipynb file.
  3. Add data by clicking on the + Add Data button on the right pane, and search for Plant Seedling Classification under Competiton Data.
  4. Run all cells.

Approach 5: Xception Net

Navigate to code/xception.ipynb

  1. Upload the notebook on the Google Colab platform by clicking on the Upload button here.
  2. Download the Plant Seedling Classification data through the Kaggle Competition page here.
  3. Unzip and upload the dataset into your root Google Drive Directory.
  4. Run all cells.

Xception: Deep Learning with Depthwise Separable Convolutions is a pre-trained model, created by François Chollet, available at arXiv. It is used as a transfer learning methodology via a Keras API documented here.

Approach 6: Inception Resnet v2

Navigate to code/inception-resnet.ipynb

  1. Create a new Kaggle Notebook by clicking on the + New Notebook button here.
  2. Go to File --> Open Notebook and upload our .ipynb file.
  3. Add data by clicking on the + Add Data button on the right pane, and search for Plant Seedling Classification under Competiton Data.
  4. Run all cells.

Inception Resnet v2 was published in the paper 'Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning', by Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi, available at arXiv. It is used as a transfer learning methodology via a Keras API documented here.

Authors

  • Gupta Jay
  • Bhatia Ritik
  • Bansal Aditya
  • Dwivedee Lakshyajeet
  • Mantri Raghav