# AiCore classification

Welcome to first AiCore Kaggle InClass competition where you can test your machine learning knowledge!

## General

- __Use any algorithm you want (including, but not limited to ML & DL)__
- __All we care about is your submission score (but people with best results will be asked for tips and what helped/didn't help__

## Task

Your task is a simple __multiclass classification__ (`10` classes) with limited number of samples (see `Data`).
- Train on `X_train` & `y_train` labels
- Predict on `X_test`

## Sending submission

__Provided you have `y_test` as `np.array` variable__ you can use following code to create `submission.csv` for upload (it will be created in your current working directory:

```
pd.DataFrame({"Id": np.arange(len(y_test)), "Category": y_test}).astype(int).to_csv(
    "solution.csv", index=False
)
```

In general, two columns are needed: "Id" (zero-numbered) and "Category" containing your predictions.

__Single best submission will be taken at the end and scored against private dataset (or you can choose one manually, it might perform better!)__

## Evaluation

Your submission will be evaluated using plain and simple `accuracy` metric.

You can use provided metrics by `sklearn` and/or `PyTorch-Lightning` to check your model's performance.

__Remember to use validation set (or more sophisticated methods) to assess model's performance__

## Private vs Public leaderboard

- Public leaderboard is scored against `10000` samples from `X_test`. This is the one you see and can evaluate/compare yourself to others.
- Private leaderboard contains the rest (`30000`). Results from this evaluation will be publicized at the end of competition __and will be your final place in the leaderboard__.

__If you are lower on the public leaderboard, it doesn't mean you can't jump up on private!__

... but public leaderboard is a good indication how you're performing.

## Baselines

Two baselines are available:
- Beat `C` baseline to pass for grad C
- Beat `B` baseline to pass for grad B

Higher grades will be based on your position on the __private leaderboard__.

## Tips

- Please notice there is __more testing samples than training samples__ (watch out for overfitting!)
- You have `20` submissions each day, a lot of space for experimentation!
- You can team in groups of `3` or less, __it won't affect the final grade__