# BT4012 In-class Kaggle Competition

This competition is to solve an anomaly detection problem. The data is sampled from [Character Font Images Dataset](https://archive.ics.uci.edu/ml/datasets/Character+Font+Images). In this subset, <characters from a particular font are treated as normal data and characters from some other fonts are randomly sampled as anomalies.>
 
## What will be the competition like?
- Due on **8th November 2021 11:59 PM (UTC)**
- Given a training dataset, make predictions on a test dataset
- You can make submissions in .csv format up to 3x per day
- Your top accuracy score will be ranked on a public leaderboard
- The public leaderboard is based on 30% of your submission
- At the end of the competition, you will be ranked on a private leaderboard
- The private leaderboard is based on the other 70% of your submission
- You may select 2 submissions for the final private leaderboard ranking
- [Kaggle Tutorials](https://www.dropbox.com/s/dco0ung4aomf8fp/kaggledata_code.zip?dl=0)

## How will you be graded?
- **20% of final grade**
- **3 components: report, programming and ranking**

### 1. Kaggle competition private leaderboard ranking (4%)
You will be awarded 2% in this component if your submission outperforms the provided simple baseline in the private leaderboard. The other 2% will be awarded based on your relative ranking. 

### 2. Programming (6%)
You should submit a well documented jupyter notebook as well as a *requirements.txt* by **15th November 2021 23:59** Singapore time.  Your code should be written in python 3. All external dependencies should be clearly specified.
- **1%** clear instructions on how to run the code
- **1%** error free code
- **4%** documentation

### 3. Report (10%)
You need to submit a short report by **15th November 2021 23:59** Singapore time. Name your report with your NUS Student Number, i.e. A0123456Z.pdf

Your report must include the following 3 sections:

- Data preprocessing, feature engineering, and how you came out with these approaches.
- Model building and validation.
- The models you explored, why they were chosen, and how you arrived at the final model for your top 2 submissions.

There is a 4 page limit on substantive content comprising the above sections including tables and graphs, and any such content exceeding this limit will be ignored. You should use the normal layout of Microsoft word, Calibri with size 11 and single spacing. For section heads and title,, you should use the same font and size with **bold**. 

Finally, submit a Jupyter notebook (.ipynb) for the final model for your top submission, together with your report. Name this file with your NUS Student Number, i.e. **A0123456Z.ipynb**. The file should include your code for data preprocessing, feature engineering, prediction validation, and generating your .csv submission. Please also submit the requirements file with name: **A0123456Z-requirements.txt**

The submission folder is **LumiNUS &gt; Kaggle**


## Important
Upon signing up for Kaggle and joining the competition, kindly change the Display Name in your Kaggle profile to your NUS student number, e.g. "A0123456Z". 

Do not sign up using more than one Kaggle account.

This is a competition between individual participants. You should work on this problem on your own.

Please read the Overview, Data, and Rules pages carefully.

Please note with respect to the End Time of this competition (see Timeline) that it is specified in UTC.rom 