# data[].attributes.attachment_caption
Our final goal: Create a ML Model that predicts which passengers of the Titanic would survive based on a number of informations about them

# data[].attributes.body
Goal: With the original Dataset of the Titanic in hands, our job is to create a ML model from scratch to predict which passengers will survive. In the end, we will see the percentage we got right.

1. Understand the problem and the data available

2. Get basic insights about our Data

3. Plot Graphs and identify trends and patterns

4. Think about what features we should select to train the model

5. Data cleaning and type transformation

6. Model selection and training

7. See how well our model performed

# data[].attributes.attachment_caption
Silly Spelling Mistake - Supposed to be "Reinforcement"

# data[].attributes.body
1. Spelling Error -  Fixed on the new Slides

2. In a few moments, the pacing was too fast - Improved on the PBL session and hopefully I can make up for that right now

# data[].attributes.attachment_caption
Google Colaboratory - ML Model Revised after Tutor's Feedback

# data[].attributes.body
Using this link, you have access to the Code from Scratch

# data[].attributes.attachment_link.readable_text
Sign in

# data[].attributes.body
1. Origins of ML

1. "The dream of creating intelligent machines is as ancient as our history"

2. Pandora and Thanos: Greek Literature

2. What is ML?

1. Machine being autonomous and adaptive, learning from Data

3. Types of ML

1. Supervised

2. Unsupervised

3. Reinforcement

4. Artificial Neural Networks

1. Imitates a Neuron

2. Very powerful - Create the layers by itself

5. Ethical Issues and Limitations of ML

1. Data Privacy

2. Computational Power

6. The Future of ML and Deep Learning

1. Deep Learning - Very advanced Neural Network

2. AutoML

7. Philosophical Aspect

1. AI will never have a conscience

2. A philosophical and metaphysical question, not scientifical

# data[].attributes.body
>_print("Group Members: " + "João Victor Coutinho, " + "Henry Michmerhuizen, " + "Omar Alsoyan, " + "Yinchu Wang, and " + "Mohammad Alaqqad.")

# data[].attributes.attachment_caption
Robot learning how to walk without being hard coded to do so

# data[].attributes.body
1. It is being used everywhere

2. Many Data Science and AI students in the FP

3. It gives the FP a chance to introduce Project-Based Learning as well

4. It teaches you how to think and be a better problem solver

# data[].attributes.headline
1- In your own words, explain what Machine Learning is and cite its 3 main types. Choose one of its types, explain it and give a real-world scenario where it could be applied.

# data[].attributes.subject
1- In your own words, explain what Machine Learning is and cite its 3 main types. Choose one of its types, explain it and give a real-world scenario where it could be applied.

# data[].attributes.body
Answer Key:

1. Branch of AI; patterns; data; autonomous; learn from data.

2. Supervised, Unsupervised, and Reinforcement Learning

Supervised: Right answers; labeled. Applications: regression; classification; disease identification; image, object, and face recognition.

Unsupervised: Structure; patterns; grouping; clustering; no right answers. Applications: business; market segmentation; mapping personas; astronomical clustering, gene and DNA analysis.

Reinforcement: trial and error; feedback and reward; reward improves algorithm; unpredictable situations. Applications: games in general and self-driving cars.

Answer: Machine Learning is a branch of Artificial Intelligence that allow machines to learn patterns from Data in an autonomous way. Its 3 main types are Supervised, Unsupervised, and Reinforcement.

Supervised: A type of learning where the machine learns with labeled data, that is, it learns knowing what the correct answer is. A few of the most common applications are: any type of regression problem (housing prices prediction, stock-market prediction, and weather prediction). Also, any type of classification problem (detect if a person has a disease or not, animal and object detection, email spam classification).

Unsupervised: A type of learning where the machine must learn without labels, which means that we do not know what the right answer is, and that is the job of the machine, to find patterns and structure in between all the data. This type of learning is also known as grouping or clustering. This type of learning is very much used in business contexts, to do market segmentation and mapping personas. It is also heavily used in science, for identyfying protein structures, gene analysis, and astronomical clustering.

Reinforcement: This type of learning consists in learning through trial and error, whereby the machine explores the environment, takes actions, and gets feedback on its decisions. The feedback helps improve the algorithm, telling the computer what it should look for and what it should ignore. Any type of situation where there are so many possibilities that, in the beginning, it is hard to tell if the computer should make them or not, reinforcement learning is used. For example any type of board game and self-driving cars.

Rubric:

1. Part --> Definition of Machine learning: 40%

2. Part --> Citing the 3 types of Machine Learning: 10% for each of the 3 types, for a total of 30%.

3. Explanation of one of the types --> 15%

4. Application of the chosen type --> 15%

# data[].attributes.attachment_caption
Revised Tutor's Notes: After the PBL session

# data[].attributes.body
Points for Improvement:

Include the Datasets in the email - No need to sign up on Kaggle

Let the students choose the Features before showing the Results

Remove our own insights on the data and write down the students' instead

Give a quick summary of how each ML algorithm works underneath the hood

# data[].attributes.attachment_caption
We Love the City... But not so much the rental prices

# data[].attributes.headline
2- In the following real-world scenario, choose the best type of Machine Learning Model to solve the problem and the reason why: 

# data[].attributes.subject
2- In the following real-world scenario, choose the best type of Machine Learning Model to solve the problem and the reason why: 

# data[].attributes.body
"You are a Maastricht University student looking for housing in the city. However, most of the places you find are too expensive for what they offer. You, now knowing what Machine Learning is and what it is capable of, decide to go to the Municipality and ask for the data regarding houses in the city for the past 10 years. When you open the Dataset, you see many information regarding the houses, such as: address, number of bedrooms, the minimum period of stay, the year it was built, whether it has furniture or not, what you were looking for the most, the rental price, among many others. Before making a ML algorithm to show the landlord how he is overcharging you, you must decide which type of ML would be more suitable to create your revolutionary algorithm".

Mark the correct answer (only one):

1. [   ] Unsupervised learning would be ideal for this scenario since there are many features available and we do not know which ones are useful.

2. [   ] Supervised learning would be the best approach since we know that what we are trying to predict are the prices and we have past data to train our model with.

3. [ ] Unsupervised learning would produce the most effective results, since we are trying to find patterns in the data that help to accurately predict the price of the future houses.

4. [ ] Supervised learning would be the best choice, considering that it is the only type of Machine Learning that can learn from past data and apply that knowledge to future ones.

Answer Key: Number 2 is the correct one. Supervised Learning problem means that you train the model with the right answers, and labeled data.

Answer:

1. It is wrong because this is not an Unsupervised learning problem, since we have access to the right answers, that is, the prices to train our model with. Also, not knowing which features to use has nothing to do with the type of ML you should use. To learn which features to use, you must do statistical analysis (index of correlation), understand the problem better, and, rebuild the model if your first predictions are wrong.

2. This is the correct one, since this is indeed a supervised learning problem, considering we have access to the labeled data (what we are trying to predict). The reason why it is classified as such is also correct, taking into consideration that when we know exactly what we are looking for, we should use supervised learning.

3. Not an unsupervised learning problem and, the reason why we use unsupervised learning is to find structure and patterns in our data, in other words, when we do not know what we are looking for. In this problem, however, we know exactly what we are looking for.

4. This would be a harder one, since it is indeed a supervised learning problem, but the explanation for such a choice is wrong. Knowing from past data and applying that knowledge to future ones is the definition of ML as a whole, being true for all types of ML, not just supervised learning.

Rubric: Since it is a multiple-choice question with only one correct answer, it is very simple - those who answered number 2 get 100% of the points and those who answered numbers 1, 3, or 4, get 0%.

# data[].attributes.headline
Was it worth choosing Machine Learning as our topic?

# data[].attributes.subject
Was it worth choosing Machine Learning as our topic?

# data[].attributes.body
Absolutely!

1. Simply put, Machine Learning is the future

2. It proves that a Project-Based Learning approach on the FP could work as well - Still Problem-Based Learning, but the students build something meaningful

3. It helps to understand all the AI revolution happening in our age

4. It is multidisciplinary and it can be applied in every field