Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

DSA5102 Final Group Project

Due: November 23rd

1    Preface

The goal of the course project is to familiarize yourself with

1.  Basic python data manipulation and visualization tools, such as numpy, pandas, matplotlib and seaborn.

2.  Popular machine learning libraries such as scikit-learn and keras.

3.  Scientific methodologies in data analysis and machine learning.

2    Instructions

2.1    Project Submission Format

Your project should be the form of a juptyer notebook, taking note of the following:

1.  Your submitted notebook should be runnable as it is.   If some parts require long training, then please attach a saved model that can be loaded into the notebook and comment out the training steps (but still include them as comments!) in your submission.

2.  Include clear comments (use the markdown capabilities of jupyter!)  to explain what you are doing at each step, and also your findings and how they may be interesting.  Treat it as an essay!

3.  Complete the project in groups of 4-5 people.   Each group should submit only one report together. Within the report, declare how diferent members contributed to the project.  There are two possibilities:

• If you declare  “all members contributed equally” (or if you don’t make any declaration at all), then everyone in the group will get the same grade.

• Alternatively, if you write “xxx contributed to y...”, then group members will get diferent scores depending on your individual contribution.

2.2    The Task

There are two main diferent options, and you should complete one of the following:

1.  Choose a data set and complete three diferent data analysis tasks in supervised and unsu- pervised learning, with at least one supervised learning task  (e.g. regression, classification, etc), and one unsupervised learning task (e.g.  dimensional reduction, clustering, generative models, etc).

• For each task, employ at least two diferent methods and compare their performance. For supervised learning task(s), cross validation should be used for model selection.

• If your report contains two (un)supervised learning tasks, then at least 3  diferent (un)supervised learning methods must be used within the entire project.

• You can attempt a semi-supervised learning task (e.g. classification problem but only a small portion of the training data are labelled), which by itself can be counted as a supervised learning PLUS an unsupervised learning task  (so only one more task is necessary). In this case, the previous two bullet points still apply.

2.  Train the machine to play some classic/well-known game using reinforcement learning.  Some examples are Breakout, Snake, Tetris and Super Mario.  Some of the games can be found in Atari Games.

• You should demonstrate visually how the computer’s gameplay improves as the training progresses.

• Explore how you could improve the strength of the computer player, and compare their performances.

• If you can incorporate supervised or unsupervised learning techniques (e.g. using neural network to estimate the value function) in the project, this will be a significant plus.

For both options, you should include an introduction of your dataset/game (if you choose option 2, assume that I have never played the game before!), with visualizations.

You are also welcome to explore alternative options for the final project.  Email me if you have some creative ideas, but do not directly fit into the previous two options, and are not sure if this would be accepted.

3    Grading Criteria

Your grade is based on the following:

1.  Completion of the aforementioned tasks.  However, completing the bare minimum will only guarantee you a score of 12/20!

2.  Scientific correctness of your methodologies.

3.  Correct use of libraries.

4.  Clear documentation of introduction/visualization, code and findings.  If you choose option 2, the complexity of the game and the strength of your final output are important.

5.  Creativity and style.

4    Datasets

You are encouraged to find a dataset with an application area that interests you, as long as we never used this dataset in class demos. You may browse the following resources:

1. UCI Machine Learning Repository

2. Kaggle

3. data.gov.sg

In case you have difficulty finding a dataset, I have included some possible choices below, but don’t limit yourself to these options!

1. Heart Disease

2. Retail Data Analytics

3. Atomization Energies and DFT

4. New York Stock Exchange

5. Traffic Signs

6. COVID-19