Skip to content

Commit

Permalink
quiz renumbering, removing 5th NLP lesson, reordering Intro lessons
Browse files Browse the repository at this point in the history
  • Loading branch information
jlooper committed Jun 17, 2021
1 parent 2b522d2 commit 58e9884
Show file tree
Hide file tree
Showing 22 changed files with 41 additions and 102 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ In this lesson, you will:
- Understand the process of doing machine learning at a high level.
- Explore concepts like model and training data.

## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/7/)

# Introduction

On a high-level the craft of doing machine learning, ML goes through a number of steps. Here's what it looks like:
Expand Down Expand Up @@ -85,4 +87,5 @@ Ok, you've made some initial assumptions before starting out. Now it's time to l
You've made it to your goal hopefully. The whole point of this process was to combine an algorithm, i.e model and training data so you can make a prediction of data you haven't seen yet. Will that stock increase or decrease, is it sunny tomorrow and so on?




## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/8/)
4 changes: 2 additions & 2 deletions 2-Regression/1-Tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

> Sketchnote by [Tomomi Imura](https://www.twitter.com/girlie_mac)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/7/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/9/)
## Introduction


Expand Down Expand Up @@ -197,7 +197,7 @@ Congratulations, you built your first Linear Regression model, created a predict
## 🚀Challenge

Plot a different variable from this dataset. Hint: edit this line: `X = X[:, np.newaxis, 2]`. Given this dataset's target, what are you able to discover about the progression of diabetes as a disease?
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/8/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/10/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 2-Regression/2-Data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
> ![Data Vizualization Infographic](./images/data-visualization.png)
> Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/9/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/11/)

### Introduction

Expand Down Expand Up @@ -143,7 +143,7 @@ This is a more useful data visualization! It seems to indicate that the highest
## 🚀Challenge

Explore the different types of visualization that matplotlib offers. Which types are most appropriate for regression problems?
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/10/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/12/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 2-Regression/3-Linear/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

![Linear vs Polynomial Regression Infographic](./images/linear-polynomial.png)
> Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/11/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/13/)
### Introduction

So far you have explored what regression is with sample data gathered from the pumpkin pricing dataset that we will use throughout this unit. You have also visualized it using Matplotlib. Now you are ready to dive deeper into regression for ML. In this lesson, you will learn more about two types of regression: basic linear regression and polynomial regression, along with some of the math underlying these techniques.
Expand Down Expand Up @@ -249,7 +249,7 @@ It does make sense! And, if this is a better model than the previous one, lookin

Test several different variables in this notebook to see how correlation corresponds to model accuracy.

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/12/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/14/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 2-Regression/4-Logistic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

![Logistic vs. Linear Regression Infographic](./images/logistic-linear.png)
> Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/13/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/15/)

### Introduction

Expand Down Expand Up @@ -254,7 +254,7 @@ In future lessons on classifications, you will learn how to iterate to improve y
## 🚀Challenge

There's a lot more to unpack regarding Logistic Regression! But the best way to learn is to experiment. Find a dataset that lends itself to this type of analysis and build a model with it. What do you learn? tip: try [Kaggle](https://kaggle.com) for interesting datasets.
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/14/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/16/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 3-Web-App/1-Web-App/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Build a Web App to use a ML Model

In this lesson, you will train a Linear Regression model and a Classification model on a dataset that's out of this world: UFO Sightings over the past century, sourced from [NUFORC's database](https://www.nuforc.org). We will continue our use of notebooks to clean data and train our model, but you can take the process one step further by exploring using a model 'in the wild', so to speak: in a web app. To do this, you need to build a web app using Flask.
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/15/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/17/)

There are several ways to build web apps to consume machine learning models. Your web architecture may influence the way your model is trained. Imagine that you are working in a business where the data science group has trained a model that they want you to use in an app. There are many questions you need to ask: Is it a web app, or a mobile app? Where will the model reside, in the cloud or locally? Does the app have to work offline? And what technology was used to train the model, because that may influence the tooling you need to use?

Expand Down Expand Up @@ -267,7 +267,7 @@ Using a model this way, with Flask and a pickled model, is relatively straightfo

Instead of working in a notebook and importing the model to the Flask app, you could train the model right within the Flask app! Try converting your Python code in the notebook, perhaps after your data is cleaned, to train the model from within the app on a route called `train`. What are the pros and cons of pursuing this method?

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/16/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/18/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 4-Classification/1-Introduction/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Classification is a form of [supervised learning](https://wikipedia.org/wiki/Sup
Remember, Linear Regression helped you predict relationships between variables and make accurate predictions on where a new datapoint would fall in relationship to that line. So, you could predict what price a pumpkin would be in September vs. December, for example. Logistic Regression helped you discover binary categories: at this price point, is this pumpkin orange or not-orange?

Classification uses various algorithms to determine other ways of determining a data point's label or class. Let's work with this cuisine data to see whether, by observing a group of ingredients, we can determine its cuisine of origin.
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/17/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/19/)

### Introduction

Expand Down Expand Up @@ -210,7 +210,7 @@ This fresh CSV can now be found in the root data folder.

This curriculum contains several interesting datasets. Dig through the `data` folders and see if any contain datasets that would be appropriate for binary or multi-class classification? What questions would you ask of this dataset?

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/18/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/20/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 4-Classification/2-Classifiers-1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

In this lesson, you will use the dataset you saved from the last lesson full of balanced, clean data all about cuisines. You will use this dataset with a variety of classifiers to predict a given national cuisine based on a group of ingredients. While doing so, you'll learn more about some of the ways that algorithms can be leveraged for classification tasks.

## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/19/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/21/)
# Preparation

Assuming you completed Lesson 1, make sure that a `cleaned_cuisines.csv` file exists in the root `/data` folder for these four lessons.
Expand Down Expand Up @@ -205,7 +205,7 @@ print(classification_report(y_test,y_pred))

In this lesson, you used your cleaned data to build a machine learning model that can predict a national cuisine based on a series of ingredients. Take some time to read through the many options Scikit-Learn provides to classify data. Dig deeper into the concept of 'solver' to understand what goes on behind the scenes.

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/20/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/22/)
## Review & Self Study

Dig a little more into the math behind Logistic Regression in [this lesson](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf)
Expand Down
4 changes: 2 additions & 2 deletions 4-Classification/3-Classifiers-2/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Cuisine Classifiers 2

In this second Classification lesson, you will explore more ways to classify numeric data, and the ramifications for choosing one over the other.
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/21/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/23/)

### Prerequisite

Expand Down Expand Up @@ -189,7 +189,7 @@ This method of Machine Learning "combines the predictions of several base estima

Each of these techniques has a large number of parameters that you can tweak. Research each one's default parameters and think about what tweaking these parameters would mean for the model's quality.

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/22/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/24/)
## Review & Self Study

There's a lot of jargon in these lessons, so take a minute to review [this list](https://docs.microsoft.com/en-us/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-15963-cxa) of useful terminology!
Expand Down
4 changes: 2 additions & 2 deletions 4-Classification/4-Applied/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ One of the most useful practical uses of machine learning is building recommenda
[![Recommendation Systems Introduction](https://img.youtube.com/vi/giIXNoiqO_U/0.jpg)](https://youtu.be/giIXNoiqO_U "Recommendation Systems Introduction")

> 🎥 Click the image above for a video: Andrew Ng introduces recommendation system design
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/23/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/25/)

In this lesson you will learn:
- How to build a model and save it as an Onnx model
Expand Down Expand Up @@ -285,7 +285,7 @@ Congratulations, you have created a simple web app recommendation with a few fie

Your web app is very minimal, so continue to build it out using ingredients and their indexes from the [ingredient_indexes](../data/ingredient_indexes.csv) data. What flavor combinations work to create a given national dish?

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/24/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/26/)
## Review & Self Study

While this lesson just touched on the utility of creating a recommendation system for food ingredients, this area of ML applications is very rich in examples. Read some more about how these systems are built:
Expand Down
4 changes: 2 additions & 2 deletions 5-Clustering/1-Visualize/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Clustering is a type of [Unsupervised Learning](https://wikipedia.org/wiki/Unsup
[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")

> 🎥 Click the image above for a video. While you're studying Machine Learning with Clustering, enjoy some Nigerian Dance Hall tracks - this is a highly rated song from 2014 by PSquare.
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/25/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/27/)
### Introduction

[Clustering](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) is very useful for data exploration. Let's see if it can help discover trends and patterns in the way Nigerian audiences consume music.
Expand Down Expand Up @@ -307,7 +307,7 @@ In general, for clustering, you can use scatterplots to show clusters of data, s
## 🚀Challenge

In preparation for the next lesson, make a chart about the various clustering algorithms you might discover and use in a production environment. What kinds of problems is the clustering trying to address?
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/26/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/28/)

## Review & Self Study

Expand Down
7 changes: 3 additions & 4 deletions 5-Clustering/2-K-Means/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

> 🎥 Click the image above for a video: Andrew Ng explains Clustering
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/27/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/29/)

In this lesson, you will learn how to create clusters using Scikit-Learn and the Nigerian music dataset you imported earlier. We will cover the basics of K-Means for Clustering. Keep in mind that, as you learned in the earlier lesson, there are many ways to work with clusters and the method you use depends on your data. We will try K-Means as it's the most common Clustering technique. Let's get started!

Expand Down Expand Up @@ -212,13 +212,12 @@ Spend some time with this notebook, tweaking parameters. Can you improve the acc

Hint: Try to scale your data. There's commented code in the notebook that adds Standard Scaling to make the data columns resemble each other more closely in terms of range. You'll find that while the silhouette score goes down, the 'kink' in the elbow graph smooths out. This is because leaving the data unscaled allows data with less variance to carry more weight. Read a bit more on this problem [here](https://stats.stackexchange.com/questions/21222/are-mean-normalization-and-feature-scaling-needed-for-k-means-clustering/21226#21226).

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/28/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/30/)
## Review & Self Study

Take a look at Stanford's K-Means Simulator [here](https://stanford.edu/class/engr108/visualizations/kmeans/kmeans.html). You can use this tool to visualize sample data points and determine its centroids. With fresh data, click 'update' to see how long it takes to find convergence. You can edit the data's randomness, numbers of clusters and numbers of centroids. Does this help you get an idea of how the data can be grouped?

Also, take a look at [this handout on k-means](https://stanford.edu/~cpiech/cs221/handouts/kmeans.html
) from Stanford
Also, take a look at [this handout on k-means](https://stanford.edu/~cpiech/cs221/handouts/kmeans.html) from Stanford

## Assignment

Expand Down
4 changes: 2 additions & 2 deletions 6-NLP/1-Introduction-to-NLP/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This lesson covers a brief history and important concepts of *Computational Ling

[![NLP 101](https://img.youtube.com/vi/C75SiVhXjRM/0.jpg)](https://youtu.be/C75SiVhXjRM "NLP 101")

## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/29/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/31/)
## Introduction

NLP, as it is commonly known, is one of the best-known areas where machine learning has been applied and used in production software.
Expand Down Expand Up @@ -114,7 +114,7 @@ Choose one of the "stop and consider" elements above and either try to implement
In the next lesson, you'll learn about a number of other approaches to parsing natural language and machine learning.
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/30/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/32/)
## Review & Self Study
Expand Down
4 changes: 2 additions & 2 deletions 6-NLP/2-Tasks/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Common Natural Language Processing Tasks and Techniques

For most *Natural Language Processing* tasks, the text to be processed must be broken down, examined, and the results stored or cross referenced with rules and data sets. This allows the programmer to derive the meaning or intent or only the frequency of terms and words in a text.
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/31/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/33/)


Let's discover common techniques used in processing text. Combined with machine learning, these techniques help you to analyse large amounts of text efficiently. Before applying ML to these tasks, however, let's understand the problems encountered by an NLP specialist.
Expand Down Expand Up @@ -179,7 +179,7 @@ One possible solution to the task is [here](solution/bot.py)

Take a task in the prior knowledge check and try to implement it. Test the bot on a friend. Can it trick them? Can you make your bot more 'believable?'

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/32/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/34/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 6-NLP/3-Translation-Sentiment/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Translation and Sentiment Analysis with ML

In the previous lessons you learned how to build a basic bot using TextBlob, a library that embeds ML behind-the-scenes to perform basic NLP tasks such as noun phrase extraction. Another important challenge in computational linguistics is accurate *translation* of a sentence from one spoken or written language to another.
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/33/)
## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/35/)


This is a very hard problem compounded by the fact that there are thousands of languages and each can have very different grammar rules. One approach is to convert the formal grammar rules for one language, such as English, into a non-language dependent structure, and then translate it by converting back to another language. This means that you would take the following steps:
Expand Down Expand Up @@ -138,7 +138,7 @@ Here is a sample [solution](solutions/book.py).

Can you make Marvin even better by extracting other features from the user input?

## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/34/)
## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/36/)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions 6-NLP/4-Hotel-Reviews-1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Add a sketchnote if possible/appropriate

![Embed a video here if available](video-url)

## [Pre-lecture quiz](link-to-quiz-app)
## [Pre-lecture quiz](link-to-quiz-app) 37

Describe what we will learn

Expand Down Expand Up @@ -48,7 +48,7 @@ Add a challenge for students to work on collaboratively in class to enhance the

Optional: add a screenshot of the completed lesson's UI if appropriate

## [Post-lecture quiz](link-to-quiz-app)
## [Post-lecture quiz](link-to-quiz-app) 38

## Review & Self Study

Expand Down
55 changes: 0 additions & 55 deletions 6-NLP/5-Hotel-Reviews-2/README.md

This file was deleted.

Loading

0 comments on commit 58e9884

Please sign in to comment.