This is the code for the mini project of COMP551 (Applied machine learning) @ McGill University. The project is about largest digit recognition. Details could be found in the report.
Rank 11/115 @kaggle
@author Ibtihel Amara @email ibtihel.amara@mail.mcgill.ca
@author Sunanda Bansal @email sunanda.bansal@mail.mcgill.ca
@author Yimeng Wu @email yimeng.wu@mail.mcgill.ca
Please note that we implemented the algorithms separately and thus the naming conventions for importing data vary depending on the author. Also, each algorithms was tuned differently for different dataset. We will provide you with the instruction on how to get the code up and running, but the tuning will vary depending on which result you are trying to recreate. The '1_1 Preprocessing.py' is expected to download files locally in the folder. But, if for some reason, the online file downloading doesn't go as planned, then please download and save the raw data files in cs.mcgill.ca/ ~ksinha4/ datasets/ kaggle/ train_x.csv train_y.csv test_x.csv
The files are number named in the order of the discussion in report and expected in the assignment task.
- Preprocessing
- Feature Selection
- Linear Classification - SVM
- Implementation of Neural Networks from the scratch
- K-Nearest Neighbors and Keras Implementation of Neural Networks
- CNN implementation for the processed images
- CNN implementation for original images
- ResNet implementation for cropped images
- Resnet implementation for original images
- Python v3.4 or later
- Matplotlib
- Numpy
- Scikit-learn
- Scikit-image
- Tensorflow
- PyTorch
- Keras
- Run 1.1 Preprocessing
- It will generate datasets in ProcesedData\ which are required by the machine learning algorithms
- Run 1.2 Features Extraction
- Run Other files
Contact the @authors