From e83a24c157fce74c935c22bfe4e39e43181d9fdf Mon Sep 17 00:00:00 2001 From: feiyun0112 Date: Tue, 13 Jul 2021 12:17:36 +0800 Subject: [PATCH 01/11] [WIP]translate 3.1 to Simplified Chinese --- .../1-Web-App/translations/README.zh-cn.md | 347 ++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 3-Web-App/1-Web-App/translations/README.zh-cn.md diff --git a/3-Web-App/1-Web-App/translations/README.zh-cn.md b/3-Web-App/1-Web-App/translations/README.zh-cn.md new file mode 100644 index 000000000..6150aece7 --- /dev/null +++ b/3-Web-App/1-Web-App/translations/README.zh-cn.md @@ -0,0 +1,347 @@ +# Build a Web App to use a ML Model + +In this lesson, you will train an ML model on a data set that's out of this world: _UFO sightings over the past century_, sourced from [NUFORC's database](https://www.nuforc.org). + +You will learn: + +- How to 'pickle' a trained model +- How to use that model in a Flask app + +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/17/) + +## Building an app + +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. + +### Considerations + +There are many questions you need to ask: + +- **Is it a web app or a mobile app?** If you are building a mobile app or need to use the model in an IoT context, you could use [TensorFlow Lite](https://www.tensorflow.org/lite/) and use the model in an Android or iOS app. +- **Where will the model reside**? In the cloud or locally? +- **Offline support**. Does the app have to work offline? +- **What technology was used to train the model?** The chosen technology may influence the tooling you need to use. + - **Using Tensor flow**. If you are training a model using TensorFlow, for example, that ecosystem provides the ability to convert a TensorFlow model for use in a web app by using [TensorFlow.js](https://www.tensorflow.org/js/). + - **Using PyTorch**. If you are building a model using a library such as [PyTorch](https://pytorch.org/), you have the option to export it in [ONNX](https://onnx.ai/) (Open Neural Network Exchange) format for use in JavaScript web apps that can use the [Onnx Runtime](https://www.onnxruntime.ai/). This option will be explored in a future lesson for a Scikit-learn-trained model. + - **Using Lobe.ai or Azure Custom vision**. If you are using an ML SaaS (Software as a Service) system such as [Lobe.ai](https://lobe.ai/) or [Azure Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-15963-cxa) to train a model, this type of software provides ways to export the model for many platforms, including building a bespoke API to be queried in the cloud by your online application. + +You also have the opportunity to build an entire Flask web app that would be able to train the model itself in a web browser. This can also be done using TensorFlow.js in a JavaScript context. + +For our purposes, since we have been working with Python-based notebooks, let's explore the steps you need to take to export a trained model from such a notebook to a format readable by a Python-built web app. + +## Tool + +For this task, you need two tools: Flask and Pickle, both of which run on Python. + +✅ What's [Flask](https://palletsprojects.com/p/flask/)? Defined as a 'micro-framework' by its creators, Flask provides the basic features of web frameworks using Python and a templating engine to build web pages. Take a look at [this Learn module](https://docs.microsoft.com/learn/modules/python-flask-build-ai-web-app?WT.mc_id=academic-15963-cxa) to practice building with Flask. + +✅ What's [Pickle](https://docs.python.org/3/library/pickle.html)? Pickle 🥒 is a Python module that serializes and de-serializes a Python object structure. When you 'pickle' a model, you serialize or flatten its structure for use on the web. Be careful: pickle is not intrinsically secure, so be careful if prompted to 'un-pickle' a file. A pickled file has the suffix `.pkl`. + +## Exercise - clean your data + +In this lesson you'll use data from 80,000 UFO sightings, gathered by [NUFORC](https://nuforc.org) (The National UFO Reporting Center). This data has some interesting descriptions of UFO sightings, for example: + +- **Long example description**. "A man emerges from a beam of light that shines on a grassy field at night and he runs towards the Texas Instruments parking lot". +- **Short example description**. "the lights chased us". + +The [ufos.csv](./data/ufos.csv) spreadsheet includes columns about the `city`, `state` and `country` where the sighting occurred, the object's `shape` and its `latitude` and `longitude`. + +In the blank [notebook](notebook.ipynb) included in this lesson: + +1. import `pandas`, `matplotlib`, and `numpy` as you did in previous lessons and import the ufos spreadsheet. You can take a look at a sample data set: + + ```python + import pandas as pd + import numpy as np + + ufos = pd.read_csv('../data/ufos.csv') + ufos.head() + ``` + +1. Convert the ufos data to a small dataframe with fresh titles. Check the unique values in the `Country` field. + + ```python + ufos = pd.DataFrame({'Seconds': ufos['duration (seconds)'], 'Country': ufos['country'],'Latitude': ufos['latitude'],'Longitude': ufos['longitude']}) + + ufos.Country.unique() + ``` + +1. Now, you can reduce the amount of data we need to deal with by dropping any null values and only importing sightings between 1-60 seconds: + + ```python + ufos.dropna(inplace=True) + + ufos = ufos[(ufos['Seconds'] >= 1) & (ufos['Seconds'] <= 60)] + + ufos.info() + ``` + +1. Import Scikit-learn's `LabelEncoder` library to convert the text values for countries to a number: + + ✅ LabelEncoder encodes data alphabetically + + ```python + from sklearn.preprocessing import LabelEncoder + + ufos['Country'] = LabelEncoder().fit_transform(ufos['Country']) + + ufos.head() + ``` + + Your data should look like this: + + ```output + Seconds Country Latitude Longitude + 2 20.0 3 53.200000 -2.916667 + 3 20.0 4 28.978333 -96.645833 + 14 30.0 4 35.823889 -80.253611 + 23 60.0 4 45.582778 -122.352222 + 24 3.0 3 51.783333 -0.783333 + ``` + +## Exercise - build your model + +Now you can get ready to train a model by diving the data into the training and testing group. + +1. Select the three features you want to train on as your X vector, and the y vector will be the `Country`. You want to be able to input `Seconds`, `Latitude` and `Longitude` and get a country id to return. + + ```python + from sklearn.model_selection import train_test_split + + Selected_features = ['Seconds','Latitude','Longitude'] + + X = ufos[Selected_features] + y = ufos['Country'] + + X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) + ``` + +1. Train your model using logistic regression: + + ```python + from sklearn.metrics import accuracy_score, classification_report + from sklearn.linear_model import LogisticRegression + model = LogisticRegression() + model.fit(X_train, y_train) + predictions = model.predict(X_test) + + print(classification_report(y_test, predictions)) + print('Predicted labels: ', predictions) + print('Accuracy: ', accuracy_score(y_test, predictions)) + ``` + +The accuracy isn't bad **(around 95%)**, unsurprisingly, as `Country` and `Latitude/Longitude` correlate. + +The model you created isn't very revolutionary as you should be able to infer a `Country` from its `Latitude` and `Longitude`, but it's a good exercise to try to train from raw data that you cleaned, exported, and then use this model in a web app. + +## Exercise - 'pickle' your model + +Now, it's time to _pickle_ your model! You can do that in a few lines of code. Once it's _pickled_, load your pickled model and test it against a sample data array containing values for seconds, latitude and longitude, + +```python +import pickle +model_filename = 'ufo-model.pkl' +pickle.dump(model, open(model_filename,'wb')) + +model = pickle.load(open('ufo-model.pkl','rb')) +print(model.predict([[50,44,-12]])) +``` + +The model returns **'3'**, which is the country code for the UK. Wild! 👽 + +## Exercise - build a Flask app + +Now you can build a Flask app to call your model and return similar results, but in a more visually pleasing way. + +1. Start by creating a folder called **web-app** next to the _notebook.ipynb_ file where your _ufo-model.pkl_ file resides. + +1. In that folder create three more folders: **static**, with a folder **css** inside it, and **templates`**. You should now have the following files and directories: + + ```output + web-app/ + static/ + css/ + templates/ + notebook.ipynb + ufo-model.pkl + ``` + + ✅ Refer to the solution folder for a view of the finished app + +1. The first file to create in _web-app_ folder is **requirements.txt** file. Like _package.json_ in a JavaScript app, this file lists dependencies required by the app. In **requirements.txt** add the lines: + + ```text + scikit-learn + pandas + numpy + flask + ``` + +1. Now, run this file by navigating to _web-app_: + + ```bash + cd web-app + ``` + +1. In your terminal type `pip install`, to install the libraries listed in _reuirements.txt_: + + ```bash + pip install -r requirements.txt + ``` + +1. Now, you're ready to create three more files to finish the app: + + 1. Create **app.py** in the root + 2. Create **index.html** in _templates_ directory. + 3. Create **styles.css** in _static/css_ directory. + +1. Build out the _styles.css__ file with a few styles: + + ```css + body { + width: 100%; + height: 100%; + font-family: 'Helvetica'; + background: black; + color: #fff; + text-align: center; + letter-spacing: 1.4px; + font-size: 30px; + } + + input { + min-width: 150px; + } + + .grid { + width: 300px; + border: 1px solid #2d2d2d; + display: grid; + justify-content: center; + margin: 20px auto; + } + + .box { + color: #fff; + background: #2d2d2d; + padding: 12px; + display: inline-block; + } + ``` + +1. Next, build out the _index.html_ file: + + ```html + + + + + 🛸 UFO Appearance Prediction! 👽 + + + + +
+ +
+ +

According to the number of seconds, latitude and longitude, which country is likely to have reported seeing a UFO?

+ +
+ + + + +
+ + +

{{ prediction_text }}

+ +
+
+ + + + ``` + + Take a look at the templating in this file. Notice the 'mustache' syntax around variables that will be provided by the app, like the prediction text: `{{}}`. There's also a form that posts a prediction to the `/predict` route. + + Finally, you're ready to build the python file that drives the consumption of the model and the display of predictions: + +1. In `app.py` add: + + ```python + import numpy as np + from flask import Flask, request, render_template + import pickle + + app = Flask(__name__) + + model = pickle.load(open("../ufo-model.pkl", "rb")) + + + @app.route("/") + def home(): + return render_template("index.html") + + + @app.route("/predict", methods=["POST"]) + def predict(): + + int_features = [int(x) for x in request.form.values()] + final_features = [np.array(int_features)] + prediction = model.predict(final_features) + + output = prediction[0] + + countries = ["Australia", "Canada", "Germany", "UK", "US"] + + return render_template( + "index.html", prediction_text="Likely country: {}".format(countries[output]) + ) + + + if __name__ == "__main__": + app.run(debug=True) + ``` + + > 💡 Tip: when you add [`debug=True`](https://www.askpython.com/python-modules/flask/flask-debug-mode) while running the web app using Flask, any changes you make to your application will be reflected immediately without the need to restart the server. Beware! Don't enable this mode in a production app. + +If you run `python app.py` or `python3 app.py` - your web server starts up, locally, and you can fill out a short form to get an answer to your burning question about where UFOs have been sighted! + +Before doing that, take a look at the parts of `app.py`: + +1. First, dependencies are loaded and the app starts. +1. Then, the model is imported. +1. Then, index.html is rendered on the home route. + +On the `/predict` route, several things happen when the form is posted: + +1. The form variables are gathered and converted to a numpy array. They are then sent to the model and a prediction is returned. +2. The Countries that we want displayed are re-rendered as readable text from their predicted country code, and that value is sent back to index.html to be rendered in the template. + +Using a model this way, with Flask and a pickled model, is relatively straightforward. The hardest thing is to understand what shape the data is that must be sent to the model to get a prediction. That all depends on how the model was trained. This one has three data points to be input in order to get a prediction. + +In a professional setting, you can see how good communication is necessary between the folks who train the model and those who consume it in a web or mobile app. In our case, it's only one person, you! + +--- + +## 🚀 Challenge: + +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/18/) + +## Review & Self Study + +There are many ways to build a web app to consume ML models. Make a list of the ways you could use JavaScript or Python to build a web app to leverage machine learning. Consider architecture: should the model stay in the app or live in the cloud? If the latter, how would you access it? Draw out an architectural model for an applied ML web solution. + +## Assignment + +[Try a different model](assignment.md) + + From ae145d6aad4e132df076ce40a4dc85c23456be60 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Tue, 13 Jul 2021 16:16:29 +0000 Subject: [PATCH 02/11] French translation of introduction base README Propose README.fr.md file for the french translation of introduction base README --- 1-Introduction/translations/README.fr.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 1-Introduction/translations/README.fr.md diff --git a/1-Introduction/translations/README.fr.md b/1-Introduction/translations/README.fr.md new file mode 100644 index 000000000..632058987 --- /dev/null +++ b/1-Introduction/translations/README.fr.md @@ -0,0 +1,22 @@ +# Introduction à l’apprentissage automatique + +Dans cette section du programme, vous découvrirez les concepts de base sous-jacents au domaine de l'apprentissage automatique, ce qu’il est, et vous découvrirez son histoire et les techniques que les chercheurs utilisent pour travailler avec lui. Explorons ensemble ce nouveau monde de Machine Learning ! + +![globe](images/globe.jpg) +> Photo par Bill Oxford sur Unsplash + +### Leçons + +1. [Introduction à l’apprentissage automatique](1-intro-to-ML/README.md) +1. [L’histoire de l’apprentissage automatique et de l’IA](2-history-of-ML/README.md) +1. [Équité et apprentissage automatique](3-équité/README.md) +1. [Techniques d’apprentissage automatique](4-techniques-of-ML/README.md) +### Crédits + +"Introduction à l’apprentissage automatique" a été écrit avec ♥️ par une équipe de personnes comprenant [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan), [Ornella Altunyan](https://twitter.com/ornelladotcom) et [Jen Looper](https://twitter.com/jenlooper) + +"L’histoire de l’apprentissage automatique" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Amy Boyd](https://twitter.com/AmyKateNicho) + +"Équité et apprentissage automatique" a été écrit avec ♥️ par [Tomomi Imura](https://twitter.com/girliemac) + +"Techniques d’apprentissage automatique" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Chris Noring](https://twitter.com/softchris) From 5b3de9b0ba10a81d57f50f4a15cd23a3ef9fbc08 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Tue, 13 Jul 2021 16:18:23 +0000 Subject: [PATCH 03/11] fix image link --- 1-Introduction/translations/README.fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-Introduction/translations/README.fr.md b/1-Introduction/translations/README.fr.md index 632058987..d9fde6784 100644 --- a/1-Introduction/translations/README.fr.md +++ b/1-Introduction/translations/README.fr.md @@ -2,7 +2,7 @@ Dans cette section du programme, vous découvrirez les concepts de base sous-jacents au domaine de l'apprentissage automatique, ce qu’il est, et vous découvrirez son histoire et les techniques que les chercheurs utilisent pour travailler avec lui. Explorons ensemble ce nouveau monde de Machine Learning ! -![globe](images/globe.jpg) +![globe](../images/globe.jpg) > Photo par Bill Oxford sur Unsplash ### Leçons From 681ecc8983e0469e2448cda1fd5288e5e3d38690 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Wed, 14 Jul 2021 00:39:51 +0000 Subject: [PATCH 04/11] Keep "Machine learning" term in fr translation Keep "Machine learning" term in fr translation --- 1-Introduction/translations/README.fr.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/1-Introduction/translations/README.fr.md b/1-Introduction/translations/README.fr.md index d9fde6784..c27f9bef1 100644 --- a/1-Introduction/translations/README.fr.md +++ b/1-Introduction/translations/README.fr.md @@ -1,22 +1,22 @@ -# Introduction à l’apprentissage automatique +# Introduction au machine learning -Dans cette section du programme, vous découvrirez les concepts de base sous-jacents au domaine de l'apprentissage automatique, ce qu’il est, et vous découvrirez son histoire et les techniques que les chercheurs utilisent pour travailler avec lui. Explorons ensemble ce nouveau monde de Machine Learning ! +Dans cette section du programme, vous découvrirez les concepts de base sous-jacents au domaine du machine learning, ce qu’il est, et vous découvrirez son histoire et les techniques que les chercheurs utilisent pour travailler avec lui. Explorons ensemble ce nouveau monde de ML ! ![globe](../images/globe.jpg) > Photo par Bill Oxford sur Unsplash ### Leçons -1. [Introduction à l’apprentissage automatique](1-intro-to-ML/README.md) -1. [L’histoire de l’apprentissage automatique et de l’IA](2-history-of-ML/README.md) -1. [Équité et apprentissage automatique](3-équité/README.md) -1. [Techniques d’apprentissage automatique](4-techniques-of-ML/README.md) +1. [Introduction au machine learning](1-intro-to-ML/README.md) +1. [L’histoire du machine learning et de l’IA](2-history-of-ML/README.md) +1. [Équité et machine learning](3-équité/README.md) +1. [Techniques de machine learning](4-techniques-of-ML/README.md) ### Crédits -"Introduction à l’apprentissage automatique" a été écrit avec ♥️ par une équipe de personnes comprenant [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan), [Ornella Altunyan](https://twitter.com/ornelladotcom) et [Jen Looper](https://twitter.com/jenlooper) +"Introduction au machine learning" a été écrit avec ♥️ par une équipe de personnes comprenant [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan), [Ornella Altunyan](https://twitter.com/ornelladotcom) et [Jen Looper](https://twitter.com/jenlooper) -"L’histoire de l’apprentissage automatique" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Amy Boyd](https://twitter.com/AmyKateNicho) +"L’histoire du machine learning" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Amy Boyd](https://twitter.com/AmyKateNicho) -"Équité et apprentissage automatique" a été écrit avec ♥️ par [Tomomi Imura](https://twitter.com/girliemac) +"Équité et machine learning" a été écrit avec ♥️ par [Tomomi Imura](https://twitter.com/girliemac) -"Techniques d’apprentissage automatique" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Chris Noring](https://twitter.com/softchris) +"Techniques de machine learning" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Chris Noring](https://twitter.com/softchris) From 8180bf65544b1355d8f158b2c39640de99e1c6c9 Mon Sep 17 00:00:00 2001 From: feiyun0112 Date: Wed, 14 Jul 2021 12:40:33 +0800 Subject: [PATCH 05/11] Update README.zh-cn.md --- .../1-Web-App/translations/README.zh-cn.md | 162 +++++++++--------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/3-Web-App/1-Web-App/translations/README.zh-cn.md b/3-Web-App/1-Web-App/translations/README.zh-cn.md index 6150aece7..cb8a051c5 100644 --- a/3-Web-App/1-Web-App/translations/README.zh-cn.md +++ b/3-Web-App/1-Web-App/translations/README.zh-cn.md @@ -1,58 +1,58 @@ -# Build a Web App to use a ML Model +# 构建使用ML模型的Web应用程序 -In this lesson, you will train an ML model on a data set that's out of this world: _UFO sightings over the past century_, sourced from [NUFORC's database](https://www.nuforc.org). +在本课中,你将在一个数据集上训练一个ML模型,这个数据集来自世界各地:过去一个世纪的UFO目击事件,来源于[NUFORC的数据库](https://www.nuforc.org)。 -You will learn: +你将学会: -- How to 'pickle' a trained model -- How to use that model in a Flask app +- 如何“pickle”一个训练有素的模型 +- 如何在Flask应用程序中使用该模型 -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. +我们将继续使用notebook来清理数据和训练我们的模型,但你可以进一步探索在web应用程序中使用模型。 -To do this, you need to build a web app using Flask. +为此,你需要使用Flask构建一个web应用程序。 -## [Pre-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/17/) +## [课前测](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/17/) -## Building an app +## 构建应用程序 -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. +有多种方法可以构建Web应用程序以使用机器学习模型。你的web架构可能会影响你的模型训练方式。想象一下,你在一家企业工作,其中数据科学小组已经训练了他们希望你在应用程序中使用的模型。 -### Considerations +### 注意事项 -There are many questions you need to ask: +你需要问很多问题: -- **Is it a web app or a mobile app?** If you are building a mobile app or need to use the model in an IoT context, you could use [TensorFlow Lite](https://www.tensorflow.org/lite/) and use the model in an Android or iOS app. -- **Where will the model reside**? In the cloud or locally? -- **Offline support**. Does the app have to work offline? -- **What technology was used to train the model?** The chosen technology may influence the tooling you need to use. - - **Using Tensor flow**. If you are training a model using TensorFlow, for example, that ecosystem provides the ability to convert a TensorFlow model for use in a web app by using [TensorFlow.js](https://www.tensorflow.org/js/). - - **Using PyTorch**. If you are building a model using a library such as [PyTorch](https://pytorch.org/), you have the option to export it in [ONNX](https://onnx.ai/) (Open Neural Network Exchange) format for use in JavaScript web apps that can use the [Onnx Runtime](https://www.onnxruntime.ai/). This option will be explored in a future lesson for a Scikit-learn-trained model. - - **Using Lobe.ai or Azure Custom vision**. If you are using an ML SaaS (Software as a Service) system such as [Lobe.ai](https://lobe.ai/) or [Azure Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-15963-cxa) to train a model, this type of software provides ways to export the model for many platforms, including building a bespoke API to be queried in the cloud by your online application. +- **它是web应用程序还是移动应用程序?**如果你正在构建移动应用程序或需要在物联网环境中使用模型,你可以使用[TensorFlow Lite](https://www.tensorflow.org/lite/)并在Android或iOS应用程序中使用该模型。 +- **模型放在哪里?**在云端还是本地? +- **离线支持**。该应用程序是否必须离线工作? +- **使用什么技术来训练模型?**所选的技术可能会影响你需要使用的工具。 + - **使用Tensor flow**。例如,如果你正在使用TensorFlow训练模型,则该生态系统提供了使用[TensorFlow.js](https://www.tensorflow.org/js/)转换TensorFlow模型以便在Web应用程序中使用的能力。 + - **使用 PyTorch**。如果你使用[PyTorch](https://pytorch.org/)等库构建模型,则可以选择将其导出到[ONNX](https://onnx.ai/)(开放神经网络交换)格式,用于可以使用 [Onnx Runtime](https://www.onnxruntime.ai/)的JavaScript Web 应用程序。此选项将在Scikit-learn-trained模型的未来课程中进行探讨。 + - **使用Lobe.ai或Azure自定义视觉**。如果你使用ML SaaS(软件即服务)系统,例如[Lobe.ai](https://lobe.ai/)或[Azure Custom Vision](https://azure.microsoft.com/services/ cognitive-services/custom-vision-service/?WT.mc_id=academic-15963-cxa)来训练模型,这种类型的软件提供了为许多平台导出模型的方法,包括构建一个定制API,供在线应用程序在云中查询。 -You also have the opportunity to build an entire Flask web app that would be able to train the model itself in a web browser. This can also be done using TensorFlow.js in a JavaScript context. +你还有机会构建一个完整的Flask Web应用程序,该应用程序能够在 Web浏览器中训练模型本身。这也可以在JavaScript上下文中使用 TensorFlow.js来完成。 -For our purposes, since we have been working with Python-based notebooks, let's explore the steps you need to take to export a trained model from such a notebook to a format readable by a Python-built web app. +出于我们的目的,既然我们一直在使用基于Python的notebook,那么就让我们探讨一下将经过训练的模型从notebook导出为Python构建的web应用程序可读的格式所需要采取的步骤。 -## Tool +## 工具 -For this task, you need two tools: Flask and Pickle, both of which run on Python. +对于此任务,你需要两个工具:Flask和Pickle,它们都在Python上运行。 -✅ What's [Flask](https://palletsprojects.com/p/flask/)? Defined as a 'micro-framework' by its creators, Flask provides the basic features of web frameworks using Python and a templating engine to build web pages. Take a look at [this Learn module](https://docs.microsoft.com/learn/modules/python-flask-build-ai-web-app?WT.mc_id=academic-15963-cxa) to practice building with Flask. +✅ 什么是 [Flask](https://palletsprojects.com/p/flask/)? Flask被其创建者定义为“微框架”,它提供了使用Python和模板引擎构建网页的Web框架的基本功能。看看[本学习单元](https://docs.microsoft.com/learn/modules/python-flask-build-ai-web-app?WT.mc_id=academic-15963-cxa)练习使用Flask构建应用程序。 -✅ What's [Pickle](https://docs.python.org/3/library/pickle.html)? Pickle 🥒 is a Python module that serializes and de-serializes a Python object structure. When you 'pickle' a model, you serialize or flatten its structure for use on the web. Be careful: pickle is not intrinsically secure, so be careful if prompted to 'un-pickle' a file. A pickled file has the suffix `.pkl`. +✅ 什么是[Pickle](https://docs.python.org/3/library/pickle.html)? Pickle🥒是一 Python模块,用于序列化和反序列化 Python对象结构。当你“pickle”一个模型时,你将其结构序列化或展平以在 Web上使用。小心:pickle本质上不是安全的,所以如果提示“un-pickle”文件,请小心。生产的文件具有后缀`.pkl`。 -## Exercise - clean your data +## 练习 - 清理你的数据 -In this lesson you'll use data from 80,000 UFO sightings, gathered by [NUFORC](https://nuforc.org) (The National UFO Reporting Center). This data has some interesting descriptions of UFO sightings, for example: +在本课中,你将使用由 [NUFORC](https://nuforc.org)(国家 UFO 报告中心)收集的80,000次UFO目击数据。这些数据对UFO目击事件有一些有趣的描述,例如: -- **Long example description**. "A man emerges from a beam of light that shines on a grassy field at night and he runs towards the Texas Instruments parking lot". -- **Short example description**. "the lights chased us". +- **详细描述**。"一名男子从夜间照射在草地上的光束中出现,他朝德克萨斯仪器公司的停车场跑去"。 +- **简短描述**。 “灯光追着我们”。 -The [ufos.csv](./data/ufos.csv) spreadsheet includes columns about the `city`, `state` and `country` where the sighting occurred, the object's `shape` and its `latitude` and `longitude`. +[ufos.csv](./data/ufos.csv)电子表格包括有关目击事件发生的`city`、`state`和`country`、对象的`shape`及其`latitude`和`longitude`的列。 -In the blank [notebook](notebook.ipynb) included in this lesson: +在包含在本课中的空白[notebook](notebook.ipynb)中: -1. import `pandas`, `matplotlib`, and `numpy` as you did in previous lessons and import the ufos spreadsheet. You can take a look at a sample data set: +1. 像在之前的课程中一样导入`pandas`、`matplotlib`和`numpy`,然后导入ufos电子表格。你可以查看一个示例数据集: ```python import pandas as pd @@ -62,7 +62,7 @@ In the blank [notebook](notebook.ipynb) included in this lesson: ufos.head() ``` -1. Convert the ufos data to a small dataframe with fresh titles. Check the unique values in the `Country` field. +2. 将ufos数据转换为带有新标题的小dataframe。检查`country`字段中的唯一值。 ```python ufos = pd.DataFrame({'Seconds': ufos['duration (seconds)'], 'Country': ufos['country'],'Latitude': ufos['latitude'],'Longitude': ufos['longitude']}) @@ -70,7 +70,7 @@ In the blank [notebook](notebook.ipynb) included in this lesson: ufos.Country.unique() ``` -1. Now, you can reduce the amount of data we need to deal with by dropping any null values and only importing sightings between 1-60 seconds: +3. 现在,你可以通过删除任何空值并仅导入1-60秒之间的目击数据来减少我们需要处理的数据量: ```python ufos.dropna(inplace=True) @@ -80,9 +80,9 @@ In the blank [notebook](notebook.ipynb) included in this lesson: ufos.info() ``` -1. Import Scikit-learn's `LabelEncoder` library to convert the text values for countries to a number: +4. 导入Scikit-learn的`LabelEncoder`库,将国家的文本值转换为数字: - ✅ LabelEncoder encodes data alphabetically + ✅ LabelEncoder按字母顺序编码数据 ```python from sklearn.preprocessing import LabelEncoder @@ -92,7 +92,7 @@ In the blank [notebook](notebook.ipynb) included in this lesson: ufos.head() ``` - Your data should look like this: + 你的数据应如下所示: ```output Seconds Country Latitude Longitude @@ -103,11 +103,11 @@ In the blank [notebook](notebook.ipynb) included in this lesson: 24 3.0 3 51.783333 -0.783333 ``` -## Exercise - build your model +## 练习 - 建立你的模型 -Now you can get ready to train a model by diving the data into the training and testing group. +现在,你可以通过将数据划分为训练和测试组来准备训练模型。 -1. Select the three features you want to train on as your X vector, and the y vector will be the `Country`. You want to be able to input `Seconds`, `Latitude` and `Longitude` and get a country id to return. +1. 选择要训练的三个特征作为X向量,y向量将是`Country` 你希望能够输入`Seconds`、`Latitude`和`Longitude`并获得要返回的国家/地区ID。 ```python from sklearn.model_selection import train_test_split @@ -120,7 +120,7 @@ Now you can get ready to train a model by diving the data into the training and X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` -1. Train your model using logistic regression: +2. 使用逻辑回归训练模型: ```python from sklearn.metrics import accuracy_score, classification_report @@ -134,13 +134,13 @@ Now you can get ready to train a model by diving the data into the training and print('Accuracy: ', accuracy_score(y_test, predictions)) ``` -The accuracy isn't bad **(around 95%)**, unsurprisingly, as `Country` and `Latitude/Longitude` correlate. +准确率还不错**(大约 95%)**,不出所料,因为`Country`和`Latitude/Longitude`相关。 -The model you created isn't very revolutionary as you should be able to infer a `Country` from its `Latitude` and `Longitude`, but it's a good exercise to try to train from raw data that you cleaned, exported, and then use this model in a web app. +你创建的模型并不是非常具有革命性,因为你应该能够从其`Latitude`和`Longitude`推断出`Country`,但是,尝试从清理、导出的原始数据进行训练,然后在web应用程序中使用此模型是一个很好的练习。 -## Exercise - 'pickle' your model +## 练习 - “pickle”你的模型 -Now, it's time to _pickle_ your model! You can do that in a few lines of code. Once it's _pickled_, load your pickled model and test it against a sample data array containing values for seconds, latitude and longitude, +现在,是时候_pickle_你的模型了!你可以在几行代码中做到这一点。一旦它是 _pickled_,加载你的pickled模型并针对包含秒、纬度和经度值的示例数据数组对其进行测试, ```python import pickle @@ -151,15 +151,15 @@ model = pickle.load(open('ufo-model.pkl','rb')) print(model.predict([[50,44,-12]])) ``` -The model returns **'3'**, which is the country code for the UK. Wild! 👽 +该模型返回**'3'**,这是英国的国家代码。👽 -## Exercise - build a Flask app +## 练习 - 构建Flask应用程序 -Now you can build a Flask app to call your model and return similar results, but in a more visually pleasing way. +现在你可以构建一个Flask应用程序来调用你的模型并返回类似的结果,但以一种更美观的方式。 -1. Start by creating a folder called **web-app** next to the _notebook.ipynb_ file where your _ufo-model.pkl_ file resides. +1. 首先在你的 _ufo-model.pkl_ 文件所在的_notebook.ipynb_文件旁边创建一个名为**web-app**的文件夹。 -1. In that folder create three more folders: **static**, with a folder **css** inside it, and **templates`**. You should now have the following files and directories: +2. 在该文件夹中创建另外三个文件夹:**static**,其中有文件夹**css**和**templates`**。 你现在应该拥有以下文件和目录 ```output web-app/ @@ -170,9 +170,9 @@ Now you can build a Flask app to call your model and return similar results, but ufo-model.pkl ``` - ✅ Refer to the solution folder for a view of the finished app + ✅ 请参阅解决方案文件夹以查看已完成的应用程序 -1. The first file to create in _web-app_ folder is **requirements.txt** file. Like _package.json_ in a JavaScript app, this file lists dependencies required by the app. In **requirements.txt** add the lines: +3. 在_web-app_文件夹中创建的第一个文件是**requirements.txt**文件。与JavaScript应用程序中的_package.json_一样,此文件列出了应用程序所需的依赖项。在**requirements.txt**中添加以下几行: ```text scikit-learn @@ -181,25 +181,25 @@ Now you can build a Flask app to call your model and return similar results, but flask ``` -1. Now, run this file by navigating to _web-app_: +4. 现在,进入web-app文件夹: ```bash cd web-app ``` -1. In your terminal type `pip install`, to install the libraries listed in _reuirements.txt_: +5. 在你的终端中输入`pip install`,以安装_reuirements.txt_中列出的库: ```bash pip install -r requirements.txt ``` -1. Now, you're ready to create three more files to finish the app: +6. 现在,你已准备好创建另外三个文件来完成应用程序: - 1. Create **app.py** in the root - 2. Create **index.html** in _templates_ directory. - 3. Create **styles.css** in _static/css_ directory. + 1. 在根目录中创建**app.py** + 2. 在_templates_目录中创建**index.html**。 + 3. 在_static/css_目录中创建**styles.css**。 -1. Build out the _styles.css__ file with a few styles: +7. 使用一些样式构建_styles.css_文件: ```css body { @@ -233,7 +233,7 @@ Now you can build a Flask app to call your model and return similar results, but } ``` -1. Next, build out the _index.html_ file: +8. 接下来,构建_index.html_文件: ```html @@ -268,11 +268,11 @@ Now you can build a Flask app to call your model and return similar results, but ``` - Take a look at the templating in this file. Notice the 'mustache' syntax around variables that will be provided by the app, like the prediction text: `{{}}`. There's also a form that posts a prediction to the `/predict` route. + 看看这个文件中的模板。请注意应用程序将提供的变量周围的“mustache”语法,例如预测文本:`{{}}`。还有一个表单可以将预测发布到`/predict`路由。 - Finally, you're ready to build the python file that drives the consumption of the model and the display of predictions: + 最后,你已准备好构建使用模型和显示预测的python 文件: -1. In `app.py` add: +9. 在`app.py`中添加: ```python import numpy as np @@ -309,39 +309,39 @@ Now you can build a Flask app to call your model and return similar results, but app.run(debug=True) ``` - > 💡 Tip: when you add [`debug=True`](https://www.askpython.com/python-modules/flask/flask-debug-mode) while running the web app using Flask, any changes you make to your application will be reflected immediately without the need to restart the server. Beware! Don't enable this mode in a production app. + > 💡 提示:当你在使用Flask运行Web应用程序时添加 [`debug=True`](https://www.askpython.com/python-modules/flask/flask-debug-mode)时你对应用程序所做的任何更改将立即反映,无需重新启动服务器。注意!不要在生产应用程序中启用此模式 -If you run `python app.py` or `python3 app.py` - your web server starts up, locally, and you can fill out a short form to get an answer to your burning question about where UFOs have been sighted! +如果你运行`python app.py`或`python3 app.py` - 你的网络服务器在本地启动,你可以填写一个简短的表格来回答你关于在哪里看到UFO的问题! -Before doing that, take a look at the parts of `app.py`: +在此之前,先看一下`app.py`的实现: -1. First, dependencies are loaded and the app starts. -1. Then, the model is imported. -1. Then, index.html is rendered on the home route. +1. 首先,加载依赖项并启动应用程序。 +2. 然后,导入模型。 +3. 然后,在home路由上渲染index.html。 -On the `/predict` route, several things happen when the form is posted: +在`/predict`路由上,当表单被发布时会发生几件事情: -1. The form variables are gathered and converted to a numpy array. They are then sent to the model and a prediction is returned. -2. The Countries that we want displayed are re-rendered as readable text from their predicted country code, and that value is sent back to index.html to be rendered in the template. +1. 收集表单变量并转换为numpy数组。然后将它们发送到模型并返回预测。 +2. 我们希望显示的国家/地区根据其预测的国家/地区代码重新呈现为可读文本,并将该值发送回index.html以在模板中呈现。 -Using a model this way, with Flask and a pickled model, is relatively straightforward. The hardest thing is to understand what shape the data is that must be sent to the model to get a prediction. That all depends on how the model was trained. This one has three data points to be input in order to get a prediction. +以这种方式使用模型,包括Flask和pickled模型,是相对简单的。最困难的是要理解数据是什么形状的,这些数据必须发送到模型中才能得到预测。这完全取决于模型是如何训练的。有三个数据要输入,以便得到一个预测。 -In a professional setting, you can see how good communication is necessary between the folks who train the model and those who consume it in a web or mobile app. In our case, it's only one person, you! +在一个专业的环境中,你可以看到训练模型的人和在Web或移动应用程序中使用模型的人之间的良好沟通是多么的必要。在我们的情况下,只有一个人,你! --- -## 🚀 Challenge: +## 🚀 挑战: -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? +你可以在Flask应用程序中训练模型,而不是在notebook上工作并将模型导入Flask应用程序!尝试在notebook中转换Python代码,可能是在清除数据之后,从应用程序中的一个名为`train`的路径训练模型。采用这种方法的利弊是什么? -## [Post-lecture quiz](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/18/) +## [课后测](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/18/) -## Review & Self Study +## 复习与自学 -There are many ways to build a web app to consume ML models. Make a list of the ways you could use JavaScript or Python to build a web app to leverage machine learning. Consider architecture: should the model stay in the app or live in the cloud? If the latter, how would you access it? Draw out an architectural model for an applied ML web solution. +有很多方法可以构建一个Web应用程序来使用ML模型。列出可以使用JavaScript或Python构建Web应用程序以利用机器学习的方法。考虑架构:模型应该留在应用程序中还是存在于云中?如果是后者,你将如何访问它?为应用的ML Web解决方案绘制架构模型。 -## Assignment +## 任务 -[Try a different model](assignment.md) +[尝试不同的模型](../assignment.md) From b0bfe1bc041f93ec6da1565741dc5047f77e03c0 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Wed, 14 Jul 2021 11:41:50 +0000 Subject: [PATCH 06/11] propose Regression french translation readme add a README.fr.md for Regression base README --- 2-Regression/translations/README.fr.md | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 2-Regression/translations/README.fr.md diff --git a/2-Regression/translations/README.fr.md b/2-Regression/translations/README.fr.md new file mode 100644 index 000000000..eaed5756e --- /dev/null +++ b/2-Regression/translations/README.fr.md @@ -0,0 +1,33 @@ +# Modèles de régression pour le machine learning +## Sujet régional : Modèles de régression des prix des citrouilles en Amérique du Nord 🎃 + +En Amérique du Nord, les citrouilles sont souvent sculptées en visages effrayants pour Halloween. Découvrons-en plus sur ces légumes fascinants! + +![jack-o-lanterns](../images/jack-o-lanterns.jpg) +> Photo de Beth Teutschmann sur Unsplash + +## Ce que vous apprendrez + +Les leçons de cette section couvrent les types de régression dans le contexte du machine learning. Les modèles de régression peuvent aider à déterminer la _relation_ entre les variables. Ce type de modèle peut prédire des valeurs telles que la longueur, la température ou l'âge, découvrant ainsi les relations entre les variables lors de l'analyse des points de données. + +Dans cette série de leçons, vous découvrirez la différence entre la régression linéaire et la régression logistique, et quand vous devriez utiliser l'une ou l'autre. + +Dans ce groupe de leçons, vous serez préparé afin de commencer les tâches de machine learning, y compris la configuration de Visual Studio Code pour gérer les blocs-notes, l'environnement commun pour les scientifiques des données. Vous découvrirez Scikit-learn, une bibliothèque pour le machine learning, et vous construirez vos premiers modèles, en vous concentrant sur les modèles de régression dans ce chapitre. + +> Il existe des outils low-code utiles qui peuvent vous aider à apprendre à travailler avec des modèles de régression. Essayez [Azure ML pour cette tâche](https://docs.microsoft.com/learn/modules/create-regression-model-azure-machine-learning-designer/?WT.mc_id=academic-15963-cxa) + +### Cours + +1. [Outils du métier](1-Tools/README.md) +2. [Gestion des données](2-Data/README.md) +3. [Régression linéaire et polynomiale](3-Linear/README.md) +4. [Régression logistique](4-Logistic/README.md) + +--- +### Crédits + +"ML avec régression" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) + +♥️ Les contributeurs du quiz incluent : [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) et [Ornella Altunyan](https://twitter.com/ornelladotcom) + +L'ensemble de données sur la citrouille est suggéré par [ce projet sur Kaggle](https://www.kaggle.com/usda/a-year-of-pumpkin-prices) et ses données proviennent des [Rapports standard des marchés terminaux des cultures spécialisées](https://www.marketnews.usda.gov/mnp/fv-report-config-step1?type=termPrice) distribué par le département américain de l'Agriculture. Nous avons ajouté quelques points autour de la couleur en fonction de la variété pour normaliser la distribution. Ces données sont dans le domaine public. From d14c8192e34f3fde8f7275ec797fba483b6bff1a Mon Sep 17 00:00:00 2001 From: feiyun0112 Date: Wed, 14 Jul 2021 21:25:34 +0800 Subject: [PATCH 07/11] Update README.zh-cn.md --- 1-Introduction/3-fairness/translations/README.zh-cn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-Introduction/3-fairness/translations/README.zh-cn.md b/1-Introduction/3-fairness/translations/README.zh-cn.md index 02f417775..3b75ddab9 100644 --- a/1-Introduction/3-fairness/translations/README.zh-cn.md +++ b/1-Introduction/3-fairness/translations/README.zh-cn.md @@ -145,7 +145,7 @@ | 未列出性别 | 0.33 | 0.31 | 1266 | -这张桌子告诉我们几件事。首先,我们注意到数据中的未列出性别的人相对较少。数据是有偏差的,所以你需要小心解释这些数字。 +这个表格告诉我们几件事。首先,我们注意到数据中的未列出性别的人相对较少。数据是有偏差的,所以你需要小心解释这些数字。 在本例中,我们有3个组和2个度量。当我们考虑我们的系统如何影响贷款申请人的客户群时,这可能就足够了,但是当你想要定义更多的组时,你可能需要将其提取到更小的摘要集。为此,你可以添加更多的度量,例如每个假阴性和假阳性的最大差异或最小比率。 From 747902eef1af24a230f8a20d82fbbad05ec7b184 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Wed, 14 Jul 2021 15:35:28 +0000 Subject: [PATCH 08/11] Update links for future translated readme Update links for future translated readme --- 2-Regression/translations/README.fr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/2-Regression/translations/README.fr.md b/2-Regression/translations/README.fr.md index eaed5756e..1b252f3f5 100644 --- a/2-Regression/translations/README.fr.md +++ b/2-Regression/translations/README.fr.md @@ -18,10 +18,10 @@ Dans ce groupe de leçons, vous serez préparé afin de commencer les tâches de ### Cours -1. [Outils du métier](1-Tools/README.md) -2. [Gestion des données](2-Data/README.md) -3. [Régression linéaire et polynomiale](3-Linear/README.md) -4. [Régression logistique](4-Logistic/README.md) +1. [Outils du métier](1-Tools/translations/README.fr.md) +2. [Gestion des données](2-Data/translations/README.fr.md) +3. [Régression linéaire et polynomiale](3-Linear/translations/README.fr.md) +4. [Régression logistique](4-Logistic/translations/README.fr.md) --- ### Crédits From 72fce8ed0a167c6a2dbd34328101dbf62e1fa690 Mon Sep 17 00:00:00 2001 From: Colin Zang Date: Thu, 15 Jul 2021 00:40:54 +0800 Subject: [PATCH 09/11] Create README.zh-cn.md --- translations/README.zh-cn.md | 119 +++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 translations/README.zh-cn.md diff --git a/translations/README.zh-cn.md b/translations/README.zh-cn.md new file mode 100644 index 000000000..3918b0083 --- /dev/null +++ b/translations/README.zh-cn.md @@ -0,0 +1,119 @@ +[![GitHub license](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE) +[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/) +[![GitHub issues](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/) +[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) + +[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/) +[![GitHub forks](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/) +[![GitHub stars](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/) + +# 针对初学者的机器学习课程 + +> 🌍 环游世界,并通过世界文化来探索机器学习 🌍 + +微软 Azure Cloud 的倡导者们很高兴可以提供这套十二周、二十四节课的关于**机器学习**的课程。在这套课程中,你将学习关于**经典机器学习**的内容,主要将使用 Scikit-learn 这一库。关于深度学习的内容将会尽量避免 —— 它会被我们即将推出的 "AI for Beginners (针对初学者的 AI 教程)" 所涵盖。你也可以把这些课和我们即将推出的 "Data Science for Beginners (针对初学者的数据科学教程)" 相结合! + +通过把这些经典的技术应用在来自世界各地的数据,我们将 “环游世界”。每一节课都包括了课前和课后测验、课程内容的文字讲义说明、示例代码、作业等。通过这种基于项目的教学方法,你将在构建中学习,这样可以把技能学的更牢靠。 + +**✍️ 衷心感谢作者们** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Ornella Altunyan 以及 Amy Boyd + +**🎨 同时也要感谢我们的插画师** Tomomi Imura, Dasani Madipalli 以及 Jen Looper + + **🙏 特别感谢 🙏 我们的微软学生大使作者们,内容贡献和内容复核者们**, Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, 和 Snigdha Agarwal 等 + +--- +# 准备开始 + +**对于学生们**,为了更好的使用这套课程,把整个仓库 fork 到你自己的 Github 账户中,并自行(或和一个小组一起)完成以下练习: + +- 从课前测验开始 +- 阅读课程内容,完成所有的活动,在每次 knowledge check 时暂停并思考 +- 我们建议你基于理解来创建项目(而不是仅仅跑一遍示例代码)示例代码的位置在每一个项目的 `/solution` 文件夹中。 +- 进行课后测验 +- 完成课程挑战 +- 完成作业 +- 一节课完成后, 访问[讨论版](https://github.com/microsoft/ML-For-Beginners/discussions),通过天蝎相应的 PAT Rubric (课程目标)来深化自己的学习成果。你也可以回应其它的 PAT,这样我们可以一起学习。 + +> 如果希望进一步学习,我们推荐跟随 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-15963-cxa) 的模块和学习路径。 + +**对于老师们**,我们对于如何使用这套教程[提供了一些建议](for-teachers.md)。 + +--- + +## 项目团队 + +[![宣传视频](ml-for-beginners.png)](https://youtu.be/Tj1XWrDSYJU "宣传视频") + +> 🎥 点击上方的图片,来观看一个关于这个项目和它的创造者们的视频! + +--- +## 教学方式 + +此课程基于两个教学原则:学生应该上手进行**项目实践**,并完成**频繁的测验**。 此外,为了使整个课程更具有整体性,课程们有一个共同的**主题**。 + +通过确保课程内容与项目强相关,我们让学习过程对学生更具吸引力,概念的学习也被深化了。难度较低的课前测验可以吸引学生学习课程,课后的第二次测验进一步重复了课堂中的概念。该课程被设计地灵活有趣,可以一次性全部学习,或者分开来一部分一部分学习。这些项目由浅入深,从第一周的的小项目开始,在第十二周的周期结束时变得较为复杂。本课程还包括一个关于机器学习实际应用的后记,可用作额外学分或讨论的基础。 + +> 在这里,你可以找到我们的[行为守则](CODE_OF_CONDUCT.md),[对项目作出贡献](CONTRIBUTING.md)以及[翻译](TRANSLATIONS.md)指南。我们欢迎各位提出有建设性的反馈! + +## 每一节课都包含: + +- 可选的笔记 +- 可选的补充视频 +- 课前热身测验 +- 文字课程 +- 对于基于项目的课程,包含构建项目的分步指南 +- knowledge checks +- 一个挑战 +- 补充阅读 +- 作业 +- 课后测验 + +> **关于测验**:所有的测验都在[这个应用里](https://jolly-sea-0a877260f.azurestaticapps.net),总共 50 个测验,每个测验三个问题。它们的链接在每节课中,而且这个测验应用可以在本地运行。请参考 `quiz-app` 文件夹中的指南。 + + +| 课程编号 | 主体 | 课程组 | 学习目标 | 课程链接 | 作者 | +| :-----------: | :--------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------: | :------------: | +| 01 | 机器学习简介 | [简介](1-Introduction/README.md) | 了解机器学习背后的基本概念 | [课程](1-Introduction/1-intro-to-ML/README.md) | Muhammad | +| 02 | 机器学习的历史 | [简介](1-Introduction/README.md) | 了解该领域的历史 | [课程](1-Introduction/2-history-of-ML/README.md) | Jen 和 Amy | +| 03 | 机器学习与公平 | [简介](1-Introduction/README.md) | 在构建和应用机器学习模型时,我们应该考虑哪些有关公平的重要哲学问题? | [课程](1-Introduction/3-fairness/README.md) | Tomomi | +| 04 | 机器学习的技术工具 | [简介](1-Introduction/README.md) | 机器学习研究者使用哪些技术来构建机器学习模型? | [课程](1-Introduction/4-techniques-of-ML/README.md) | Chris 和 Jen | +| 05 | 回归简介 | [回归](2-Regression/README.md) | 开始使用 Python 和 Scikit-learn 构建回归模型 | [课程](2-Regression/1-Tools/README.md) | Jen | +| 06 | 北美南瓜价格 🎃 | [回归](2-Regression/README.md) | 可视化、进行数据清理,为机器学习做准备 | [课程](2-Regression/2-Data/README.md) | Jen | +| 07 | 北美南瓜价格 🎃 | [回归](2-Regression/README.md) | 建立线性和多项式回归模型 | [课程](2-Regression/3-Linear/README.md) | Jen | +| 08 | 北美南瓜价格 🎃 | [回归](2-Regression/README.md) | 构建逻辑回归模型 | [课程](2-Regression/4-Logistic/README.md) | Jen | +| 09 | 一个网页应用 🔌 | [网页应用](3-Web-App/README.md) | 构建一个 Web 应用程序以使用经过训练的模型 | [课程](3-Web-App/1-Web-App/README.md) | Jen | +| 10 | 分类简介 | [分类](4-Classification/README.md) | 清理、准备和可视化数据; 分类简介 | [课程](4-Classification/1-Introduction/README.md) | Jen 和 Cassie | +| 11 | 美味的亚洲和印度美食 🍜 | [分类](4-Classification/README.md) | 分类器简介 | [课程](4-Classification/2-Classifiers-1/README.md) | Jen 和 Cassie | +| 12 | 美味的亚洲和印度美食 🍜 | [分类](4-Classification/README.md) | 关于分类器的更多内容 | [课程](4-Classification/3-Classifiers-2/README.md) | Jen 和 Cassie | +| 13 | 美味的亚洲和印度美食 🍜 | [分类](4-Classification/README.md) | 使用您的模型构建一个可以「推荐」的 Web 应用 | [课程](4-Classification/4-Applied/README.md) | Jen | +| 14 | 聚类简介 | [聚类](5-Clustering/README.md) | 清理、准备和可视化数据; 聚类简介 | [课程](5-Clustering/1-Visualize/README.md) | Jen | +| 15 | 探索尼日利亚人的音乐品味 🎧 | [聚类](5-Clustering/README.md) | 探索 K-Means 聚类方法 | [课程](5-Clustering/2-K-Means/README.md) | Jen | +| 16 | 自然语言处理 (NLP) 简介 ☕️ | [自然语言处理](6-NLP/README.md) | 通过构建一个简单的 bot (机器人) 来了解 NLP 的基础知识 | [课程](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | +| 17 | 常见的 NLP 任务 ☕️ | [自然语言处理](6-NLP/README.md) | 通过理解处理语言结构时所需的常见任务来加深对于自然语言处理 (NLP) 的理解 | [课程](6-NLP/2-Tasks/README.md) | Stephen | +| 18 | 翻译和情感分析 ♥️ | [自然语言处理](6-NLP/README.md) | 对简·奥斯汀的文本进行翻译和情感分析 | [课程](6-NLP/3-Translation-Sentiment/README.md) | Stephen | +| 19 | 欧洲的浪漫酒店 ♥️ | [自然语言处理](6-NLP/README.md) | 对于酒店评价进行情感分析(上) | [课程](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | +| 20 | 欧洲的浪漫酒店 ♥️ | [自然语言处理](6-NLP/README.md) | 对于酒店评价进行情感分析(下) | [课程](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | +| 21 | 时间序列预测简介 | [时间序列](7-TimeSeries/README.md) | 时间序列预测简介 forecasting | [课程](7-TimeSeries/1-Introduction/README.md) | Francesca | +| 22 | ⚡️ 世界用电量 ⚡️ - 使用 ARIMA 进行时间序列预测 | [时间序列](7-TimeSeries/README.md) | 使用 ARIMA 进行时间序列预测 | [课程](7-TimeSeries/2-ARIMA/README.md) | Francesca | +| 23 | 强化学习简介 | [强化学习](8-Reinforcement/README.md) | Q-Learning 强化学习简介 | [课程](8-Reinforcement/1-QLearning/README.md) | Dmitry | +| 24 | 帮助 Peter 避开狼!🐺 | [强化学习](8-Reinforcement/README.md) | 强化学习练习 | [课程](8-Reinforcement/2-Gym/README.md) | Dmitry | +| 后记 | 现实世界中的机器学习场景和应用 | [自然场景下的机器学习](9-Real-World/README.md) | 探索有趣的经典机器学习方法,了解现实世界中机器学习的应用 | [课程](9-Real-World/1-Applications/README.md) | 团队 | +## 离线访问 + +您可以使用 [Docsify](https://docsify.js.org/#/) 离线运行此文档。 Fork 这个仓库,并在你的本地机器上[安装 Docsify](https://docsify.js.org/#/quickstart),并在这个仓库的根文件夹中运行 `docsify serve`。你可以通过 localhost 的 3000 端口访问此文档:`localhost:3000`。 +## PDF 文档们 + +点击[这里](pdf/readme.pdf)查找课程的 PDF 文档们。 + +## 需要你的帮助! + +想贡献一份翻译吗?请阅读我们的[翻译指南](TRANSLATIONS.md)并在[此处](https://github.com/microsoft/ML-For-Beginners/issues/71)添加你的意见。 + +## 其他课程 + +我们的团队还制作了其他课程!可以看一下: + +- [针对初学者的 Web 开发课程](https://aka.ms/webdev-beginners) +- [针对初学者的物联网课程](https://aka.ms/iot-beginners) + From 70615739c8b0863ef89cac26b1ecbdd5333f8f10 Mon Sep 17 00:00:00 2001 From: Colin Zang Date: Thu, 15 Jul 2021 01:07:14 +0800 Subject: [PATCH 10/11] Update README.md --- README.md | 62 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 34c09b570..4645edb3f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![GitHub contributors](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/) [![GitHub issues](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/) [![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/) -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](../http://makeapullrequest.com) [![GitHub watchers](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/) [![GitHub forks](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/) @@ -37,13 +37,13 @@ Travel with us around the world as we apply these classic techniques to data fro > For further study, we recommend following these [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-15963-cxa) modules and learning paths. -**Teachers**, we have [included some suggestions](for-teachers.md) on how to use this curriculum. +**Teachers**, we have [included some suggestions](../for-teachers.md) on how to use this curriculum. --- ## Meet the Team -[![Promo video](ml-for-beginners.png)](https://youtu.be/Tj1XWrDSYJU "Promo video") +[![Promo video](../ml-for-beginners.png)](https://youtu.be/Tj1XWrDSYJU "Promo video") > 🎥 Click the image above for a video about the project and the folks who created it! @@ -54,7 +54,7 @@ We have chosen two pedagogical tenets while building this curriculum: ensuring t By ensuring that the content aligns with projects, the process is made more engaging for students and retention of concepts will be augmented. In addition, a low-stakes quiz before a class sets the intention of the student towards learning a topic, while a second quiz after class ensures further retention. This curriculum was designed to be flexible and fun and can be taken in whole or in part. The projects start small and become increasingly complex by the end of the 12 week cycle. This curriculum also includes a postscript on real-world applications of ML, which can be used as extra credit or as a basis for discussion. -> Find our [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), and [Translation](TRANSLATIONS.md) guidelines. We welcome your constructive feedback! +> Find our [Code of Conduct](../CODE_OF_CONDUCT.md), [Contributing](../CONTRIBUTING.md), and [Translation](../TRANSLATIONS.md) guidelines. We welcome your constructive feedback! ## Each lesson includes: - optional sketchnote @@ -73,42 +73,42 @@ By ensuring that the content aligns with projects, the process is made more enga | Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author | | :-----------: | :--------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------: | :------------: | -| 01 | Introduction to machine learning | [Introduction](1-Introduction/README.md) | Learn the basic concepts behind machine learning | [lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad | -| 02 | The History of machine learning | [Introduction](1-Introduction/README.md) | Learn the history underlying this field | [lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy | -| 03 | Fairness and machine learning | [Introduction](1-Introduction/README.md) | What are the important philosophical issues around fairness that students should consider when building and applying ML models? | [lesson](1-Introduction/3-fairness/README.md) | Tomomi | -| 04 | Techniques for machine learning | [Introduction](1-Introduction/README.md) | What techniques do ML researchers use to build ML models? | [lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen | -| 05 | Introduction to regression | [Regression](2-Regression/README.md) | Get started with Python and Scikit-learn for regression models | [lesson](2-Regression/1-Tools/README.md) | Jen | -| 06 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Visualize and clean data in preparation for ML | [lesson](2-Regression/2-Data/README.md) | Jen | -| 07 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build linear and polynomial regression models | [lesson](2-Regression/3-Linear/README.md) | Jen | -| 08 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build a logistic regression model | [lesson](2-Regression/4-Logistic/README.md) | Jen | -| 09 | A Web App 🔌 | [Web App](3-Web-App/README.md) | Build a web app to use your trained model | [lesson](3-Web-App/1-Web-App/README.md) | Jen | -| 10 | Introduction to classification | [Classification](4-Classification/README.md) | Clean, prep, and visualize your data; introduction to classification | [lesson](4-Classification/1-Introduction/README.md) | Jen and Cassie | -| 11 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Introduction to classifiers | [lesson](4-Classification/2-Classifiers-1/README.md) | Jen and Cassie | -| 12 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | More classifiers | [lesson](4-Classification/3-Classifiers-2/README.md) | Jen and Cassie | -| 13 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Build a recommender web app using your model | [lesson](4-Classification/4-Applied/README.md) | Jen | -| 14 | Introduction to clustering | [Clustering](5-Clustering/README.md) | Clean, prep, and visualize your data; Introduction to clustering | [lesson](5-Clustering/1-Visualize/README.md) | Jen | -| 15 | Exploring Nigerian Musical Tastes 🎧 | [Clustering](5-Clustering/README.md) | Explore the K-Means clustering method | [lesson](5-Clustering/2-K-Means/README.md) | Jen | -| 16 | Introduction to natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Learn the basics about NLP by building a simple bot | [lesson](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | -| 17 | Common NLP Tasks ☕️ | [Natural language processing](6-NLP/README.md) | Deepen your NLP knowledge by understanding common tasks required when dealing with language structures | [lesson](6-NLP/2-Tasks/README.md) | Stephen | -| 18 | Translation and sentiment analysis ♥️ | [Natural language processing](6-NLP/README.md) | Translation and sentiment analysis with Jane Austen | [lesson](6-NLP/3-Translation-Sentiment/README.md) | Stephen | -| 19 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews, 1 | [lesson](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | -| 20 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews 2 | [lesson](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | -| 21 | Introduction to time series forecasting | [Time series](7-TimeSeries/README.md) | Introduction to time series forecasting | [lesson](7-TimeSeries/1-Introduction/README.md) | Francesca | -| 22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | [Time series](7-TimeSeries/README.md) | Time series forecasting with ARIMA | [lesson](7-TimeSeries/2-ARIMA/README.md) | Francesca | -| 23 | Introduction to reinforcement learning | [Reinforcement learning](8-Reinforcement/README.md) | Introduction to reinforcement learning with Q-Learning | [lesson](8-Reinforcement/1-QLearning/README.md) | Dmitry | -| 24 | Help Peter avoid the wolf! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Reinforcement learning Gym | [lesson](8-Reinforcement/2-Gym/README.md) | Dmitry | -| Postscript | Real-World ML scenarios and applications | [ML in the Wild](9-Real-World/README.md) | Interesting and revealing real-world applications of classical ML | [lesson](9-Real-World/1-Applications/README.md) | Team | +| 01 | Introduction to machine learning | [Introduction](../1-Introduction/README.md) | Learn the basic concepts behind machine learning | [lesson](../1-Introduction/1-intro-to-ML/README.md) | Muhammad | +| 02 | The History of machine learning | [Introduction](../1-Introduction/README.md) | Learn the history underlying this field | [lesson](../1-Introduction/2-history-of-ML/README.md) | Jen and Amy | +| 03 | Fairness and machine learning | [Introduction](../1-Introduction/README.md) | What are the important philosophical issues around fairness that students should consider when building and applying ML models? | [lesson](../1-Introduction/3-fairness/README.md) | Tomomi | +| 04 | Techniques for machine learning | [Introduction](../1-Introduction/README.md) | What techniques do ML researchers use to build ML models? | [lesson](../1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen | +| 05 | Introduction to regression | [Regression](../2-Regression/README.md) | Get started with Python and Scikit-learn for regression models | [lesson](../2-Regression/1-Tools/README.md) | Jen | +| 06 | North American pumpkin prices 🎃 | [Regression](../2-Regression/README.md) | Visualize and clean data in preparation for ML | [lesson](../2-Regression/2-Data/README.md) | Jen | +| 07 | North American pumpkin prices 🎃 | [Regression](../2-Regression/README.md) | Build linear and polynomial regression models | [lesson](../2-Regression/3-Linear/README.md) | Jen | +| 08 | North American pumpkin prices 🎃 | [Regression](../2-Regression/README.md) | Build a logistic regression model | [lesson](../2-Regression/4-Logistic/README.md) | Jen | +| 09 | A Web App 🔌 | [Web App](../3-Web-App/README.md) | Build a web app to use your trained model | [lesson](../3-Web-App/1-Web-App/README.md) | Jen | +| 10 | Introduction to classification | [Classification](../4-Classification/README.md) | Clean, prep, and visualize your data; introduction to classification | [lesson](../4-Classification/1-Introduction/README.md) | Jen and Cassie | +| 11 | Delicious Asian and Indian cuisines 🍜 | [Classification](../4-Classification/README.md) | Introduction to classifiers | [lesson](../4-Classification/2-Classifiers-1/README.md) | Jen and Cassie | +| 12 | Delicious Asian and Indian cuisines 🍜 | [Classification](../4-Classification/README.md) | More classifiers | [lesson](../4-Classification/3-Classifiers-2/README.md) | Jen and Cassie | +| 13 | Delicious Asian and Indian cuisines 🍜 | [Classification](../4-Classification/README.md) | Build a recommender web app using your model | [lesson](../4-Classification/4-Applied/README.md) | Jen | +| 14 | Introduction to clustering | [Clustering](../5-Clustering/README.md) | Clean, prep, and visualize your data; Introduction to clustering | [lesson](../5-Clustering/1-Visualize/README.md) | Jen | +| 15 | Exploring Nigerian Musical Tastes 🎧 | [Clustering](../5-Clustering/README.md) | Explore the K-Means clustering method | [lesson](../5-Clustering/2-K-Means/README.md) | Jen | +| 16 | Introduction to natural language processing ☕️ | [Natural language processing](../6-NLP/README.md) | Learn the basics about NLP by building a simple bot | [lesson](../6-NLP/1-Introduction-to-NLP/README.md) | Stephen | +| 17 | Common NLP Tasks ☕️ | [Natural language processing](../6-NLP/README.md) | Deepen your NLP knowledge by understanding common tasks required when dealing with language structures | [lesson](../6-NLP/2-Tasks/README.md) | Stephen | +| 18 | Translation and sentiment analysis ♥️ | [Natural language processing](../6-NLP/README.md) | Translation and sentiment analysis with Jane Austen | [lesson](../6-NLP/3-Translation-Sentiment/README.md) | Stephen | +| 19 | Romantic hotels of Europe ♥️ | [Natural language processing](../6-NLP/README.md) | Sentiment analysis with hotel reviews, 1 | [lesson](../6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | +| 20 | Romantic hotels of Europe ♥️ | [Natural language processing](../6-NLP/README.md) | Sentiment analysis with hotel reviews 2 | [lesson](../6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | +| 21 | Introduction to time series forecasting | [Time series](../7-TimeSeries/README.md) | Introduction to time series forecasting | [lesson](../7-TimeSeries/1-Introduction/README.md) | Francesca | +| 22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | [Time series](../7-TimeSeries/README.md) | Time series forecasting with ARIMA | [lesson](../7-TimeSeries/2-ARIMA/README.md) | Francesca | +| 23 | Introduction to reinforcement learning | [Reinforcement learning](../8-Reinforcement/README.md) | Introduction to reinforcement learning with Q-Learning | [lesson](../8-Reinforcement/1-QLearning/README.md) | Dmitry | +| 24 | Help Peter avoid the wolf! 🐺 | [Reinforcement learning](../8-Reinforcement/README.md) | Reinforcement learning Gym | [lesson](../8-Reinforcement/2-Gym/README.md) | Dmitry | +| Postscript | Real-World ML scenarios and applications | [ML in the Wild](../9-Real-World/README.md) | Interesting and revealing real-world applications of classical ML | [lesson](../9-Real-World/1-Applications/README.md) | Team | ## Offline access You can run this documentation offline by using [Docsify](https://docsify.js.org/#/). Fork this repo, [install Docsify](https://docsify.js.org/#/quickstart) on your local machine, and then in the root folder of this repo, type `docsify serve`. The website will be served on port 3000 on your localhost: `localhost:3000`. ## PDFs -Find a pdf of the curriculum with links [here](pdf/readme.pdf) +Find a pdf of the curriculum with links [here](../pdf/readme.pdf) ## Help Wanted! -Would you like to contribute a translation? Please read our [translation guidelines](TRANSLATIONS.md) and add input [here](https://github.com/microsoft/ML-For-Beginners/issues/71) +Would you like to contribute a translation? Please read our [translation guidelines](../TRANSLATIONS.md) and add input [here](https://github.com/microsoft/ML-For-Beginners/issues/71) ## Other Curricula From ffde7e93106cad0a515944feb7c136a2442e346e Mon Sep 17 00:00:00 2001 From: Colin Zang Date: Thu, 15 Jul 2021 01:09:11 +0800 Subject: [PATCH 11/11] Updated README.zh-cn.md --- README.md | 62 ++++++++++++++++++------------------ translations/README.zh-cn.md | 62 ++++++++++++++++++------------------ 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 4645edb3f..34c09b570 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![GitHub contributors](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/) [![GitHub issues](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/) [![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/) -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](../http://makeapullrequest.com) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![GitHub watchers](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/) [![GitHub forks](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/) @@ -37,13 +37,13 @@ Travel with us around the world as we apply these classic techniques to data fro > For further study, we recommend following these [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-15963-cxa) modules and learning paths. -**Teachers**, we have [included some suggestions](../for-teachers.md) on how to use this curriculum. +**Teachers**, we have [included some suggestions](for-teachers.md) on how to use this curriculum. --- ## Meet the Team -[![Promo video](../ml-for-beginners.png)](https://youtu.be/Tj1XWrDSYJU "Promo video") +[![Promo video](ml-for-beginners.png)](https://youtu.be/Tj1XWrDSYJU "Promo video") > 🎥 Click the image above for a video about the project and the folks who created it! @@ -54,7 +54,7 @@ We have chosen two pedagogical tenets while building this curriculum: ensuring t By ensuring that the content aligns with projects, the process is made more engaging for students and retention of concepts will be augmented. In addition, a low-stakes quiz before a class sets the intention of the student towards learning a topic, while a second quiz after class ensures further retention. This curriculum was designed to be flexible and fun and can be taken in whole or in part. The projects start small and become increasingly complex by the end of the 12 week cycle. This curriculum also includes a postscript on real-world applications of ML, which can be used as extra credit or as a basis for discussion. -> Find our [Code of Conduct](../CODE_OF_CONDUCT.md), [Contributing](../CONTRIBUTING.md), and [Translation](../TRANSLATIONS.md) guidelines. We welcome your constructive feedback! +> Find our [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), and [Translation](TRANSLATIONS.md) guidelines. We welcome your constructive feedback! ## Each lesson includes: - optional sketchnote @@ -73,42 +73,42 @@ By ensuring that the content aligns with projects, the process is made more enga | Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author | | :-----------: | :--------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------: | :------------: | -| 01 | Introduction to machine learning | [Introduction](../1-Introduction/README.md) | Learn the basic concepts behind machine learning | [lesson](../1-Introduction/1-intro-to-ML/README.md) | Muhammad | -| 02 | The History of machine learning | [Introduction](../1-Introduction/README.md) | Learn the history underlying this field | [lesson](../1-Introduction/2-history-of-ML/README.md) | Jen and Amy | -| 03 | Fairness and machine learning | [Introduction](../1-Introduction/README.md) | What are the important philosophical issues around fairness that students should consider when building and applying ML models? | [lesson](../1-Introduction/3-fairness/README.md) | Tomomi | -| 04 | Techniques for machine learning | [Introduction](../1-Introduction/README.md) | What techniques do ML researchers use to build ML models? | [lesson](../1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen | -| 05 | Introduction to regression | [Regression](../2-Regression/README.md) | Get started with Python and Scikit-learn for regression models | [lesson](../2-Regression/1-Tools/README.md) | Jen | -| 06 | North American pumpkin prices 🎃 | [Regression](../2-Regression/README.md) | Visualize and clean data in preparation for ML | [lesson](../2-Regression/2-Data/README.md) | Jen | -| 07 | North American pumpkin prices 🎃 | [Regression](../2-Regression/README.md) | Build linear and polynomial regression models | [lesson](../2-Regression/3-Linear/README.md) | Jen | -| 08 | North American pumpkin prices 🎃 | [Regression](../2-Regression/README.md) | Build a logistic regression model | [lesson](../2-Regression/4-Logistic/README.md) | Jen | -| 09 | A Web App 🔌 | [Web App](../3-Web-App/README.md) | Build a web app to use your trained model | [lesson](../3-Web-App/1-Web-App/README.md) | Jen | -| 10 | Introduction to classification | [Classification](../4-Classification/README.md) | Clean, prep, and visualize your data; introduction to classification | [lesson](../4-Classification/1-Introduction/README.md) | Jen and Cassie | -| 11 | Delicious Asian and Indian cuisines 🍜 | [Classification](../4-Classification/README.md) | Introduction to classifiers | [lesson](../4-Classification/2-Classifiers-1/README.md) | Jen and Cassie | -| 12 | Delicious Asian and Indian cuisines 🍜 | [Classification](../4-Classification/README.md) | More classifiers | [lesson](../4-Classification/3-Classifiers-2/README.md) | Jen and Cassie | -| 13 | Delicious Asian and Indian cuisines 🍜 | [Classification](../4-Classification/README.md) | Build a recommender web app using your model | [lesson](../4-Classification/4-Applied/README.md) | Jen | -| 14 | Introduction to clustering | [Clustering](../5-Clustering/README.md) | Clean, prep, and visualize your data; Introduction to clustering | [lesson](../5-Clustering/1-Visualize/README.md) | Jen | -| 15 | Exploring Nigerian Musical Tastes 🎧 | [Clustering](../5-Clustering/README.md) | Explore the K-Means clustering method | [lesson](../5-Clustering/2-K-Means/README.md) | Jen | -| 16 | Introduction to natural language processing ☕️ | [Natural language processing](../6-NLP/README.md) | Learn the basics about NLP by building a simple bot | [lesson](../6-NLP/1-Introduction-to-NLP/README.md) | Stephen | -| 17 | Common NLP Tasks ☕️ | [Natural language processing](../6-NLP/README.md) | Deepen your NLP knowledge by understanding common tasks required when dealing with language structures | [lesson](../6-NLP/2-Tasks/README.md) | Stephen | -| 18 | Translation and sentiment analysis ♥️ | [Natural language processing](../6-NLP/README.md) | Translation and sentiment analysis with Jane Austen | [lesson](../6-NLP/3-Translation-Sentiment/README.md) | Stephen | -| 19 | Romantic hotels of Europe ♥️ | [Natural language processing](../6-NLP/README.md) | Sentiment analysis with hotel reviews, 1 | [lesson](../6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | -| 20 | Romantic hotels of Europe ♥️ | [Natural language processing](../6-NLP/README.md) | Sentiment analysis with hotel reviews 2 | [lesson](../6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | -| 21 | Introduction to time series forecasting | [Time series](../7-TimeSeries/README.md) | Introduction to time series forecasting | [lesson](../7-TimeSeries/1-Introduction/README.md) | Francesca | -| 22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | [Time series](../7-TimeSeries/README.md) | Time series forecasting with ARIMA | [lesson](../7-TimeSeries/2-ARIMA/README.md) | Francesca | -| 23 | Introduction to reinforcement learning | [Reinforcement learning](../8-Reinforcement/README.md) | Introduction to reinforcement learning with Q-Learning | [lesson](../8-Reinforcement/1-QLearning/README.md) | Dmitry | -| 24 | Help Peter avoid the wolf! 🐺 | [Reinforcement learning](../8-Reinforcement/README.md) | Reinforcement learning Gym | [lesson](../8-Reinforcement/2-Gym/README.md) | Dmitry | -| Postscript | Real-World ML scenarios and applications | [ML in the Wild](../9-Real-World/README.md) | Interesting and revealing real-world applications of classical ML | [lesson](../9-Real-World/1-Applications/README.md) | Team | +| 01 | Introduction to machine learning | [Introduction](1-Introduction/README.md) | Learn the basic concepts behind machine learning | [lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad | +| 02 | The History of machine learning | [Introduction](1-Introduction/README.md) | Learn the history underlying this field | [lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy | +| 03 | Fairness and machine learning | [Introduction](1-Introduction/README.md) | What are the important philosophical issues around fairness that students should consider when building and applying ML models? | [lesson](1-Introduction/3-fairness/README.md) | Tomomi | +| 04 | Techniques for machine learning | [Introduction](1-Introduction/README.md) | What techniques do ML researchers use to build ML models? | [lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen | +| 05 | Introduction to regression | [Regression](2-Regression/README.md) | Get started with Python and Scikit-learn for regression models | [lesson](2-Regression/1-Tools/README.md) | Jen | +| 06 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Visualize and clean data in preparation for ML | [lesson](2-Regression/2-Data/README.md) | Jen | +| 07 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build linear and polynomial regression models | [lesson](2-Regression/3-Linear/README.md) | Jen | +| 08 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build a logistic regression model | [lesson](2-Regression/4-Logistic/README.md) | Jen | +| 09 | A Web App 🔌 | [Web App](3-Web-App/README.md) | Build a web app to use your trained model | [lesson](3-Web-App/1-Web-App/README.md) | Jen | +| 10 | Introduction to classification | [Classification](4-Classification/README.md) | Clean, prep, and visualize your data; introduction to classification | [lesson](4-Classification/1-Introduction/README.md) | Jen and Cassie | +| 11 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Introduction to classifiers | [lesson](4-Classification/2-Classifiers-1/README.md) | Jen and Cassie | +| 12 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | More classifiers | [lesson](4-Classification/3-Classifiers-2/README.md) | Jen and Cassie | +| 13 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Build a recommender web app using your model | [lesson](4-Classification/4-Applied/README.md) | Jen | +| 14 | Introduction to clustering | [Clustering](5-Clustering/README.md) | Clean, prep, and visualize your data; Introduction to clustering | [lesson](5-Clustering/1-Visualize/README.md) | Jen | +| 15 | Exploring Nigerian Musical Tastes 🎧 | [Clustering](5-Clustering/README.md) | Explore the K-Means clustering method | [lesson](5-Clustering/2-K-Means/README.md) | Jen | +| 16 | Introduction to natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Learn the basics about NLP by building a simple bot | [lesson](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | +| 17 | Common NLP Tasks ☕️ | [Natural language processing](6-NLP/README.md) | Deepen your NLP knowledge by understanding common tasks required when dealing with language structures | [lesson](6-NLP/2-Tasks/README.md) | Stephen | +| 18 | Translation and sentiment analysis ♥️ | [Natural language processing](6-NLP/README.md) | Translation and sentiment analysis with Jane Austen | [lesson](6-NLP/3-Translation-Sentiment/README.md) | Stephen | +| 19 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews, 1 | [lesson](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | +| 20 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews 2 | [lesson](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | +| 21 | Introduction to time series forecasting | [Time series](7-TimeSeries/README.md) | Introduction to time series forecasting | [lesson](7-TimeSeries/1-Introduction/README.md) | Francesca | +| 22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | [Time series](7-TimeSeries/README.md) | Time series forecasting with ARIMA | [lesson](7-TimeSeries/2-ARIMA/README.md) | Francesca | +| 23 | Introduction to reinforcement learning | [Reinforcement learning](8-Reinforcement/README.md) | Introduction to reinforcement learning with Q-Learning | [lesson](8-Reinforcement/1-QLearning/README.md) | Dmitry | +| 24 | Help Peter avoid the wolf! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Reinforcement learning Gym | [lesson](8-Reinforcement/2-Gym/README.md) | Dmitry | +| Postscript | Real-World ML scenarios and applications | [ML in the Wild](9-Real-World/README.md) | Interesting and revealing real-world applications of classical ML | [lesson](9-Real-World/1-Applications/README.md) | Team | ## Offline access You can run this documentation offline by using [Docsify](https://docsify.js.org/#/). Fork this repo, [install Docsify](https://docsify.js.org/#/quickstart) on your local machine, and then in the root folder of this repo, type `docsify serve`. The website will be served on port 3000 on your localhost: `localhost:3000`. ## PDFs -Find a pdf of the curriculum with links [here](../pdf/readme.pdf) +Find a pdf of the curriculum with links [here](pdf/readme.pdf) ## Help Wanted! -Would you like to contribute a translation? Please read our [translation guidelines](../TRANSLATIONS.md) and add input [here](https://github.com/microsoft/ML-For-Beginners/issues/71) +Would you like to contribute a translation? Please read our [translation guidelines](TRANSLATIONS.md) and add input [here](https://github.com/microsoft/ML-For-Beginners/issues/71) ## Other Curricula diff --git a/translations/README.zh-cn.md b/translations/README.zh-cn.md index 3918b0083..f46a50d6c 100644 --- a/translations/README.zh-cn.md +++ b/translations/README.zh-cn.md @@ -2,7 +2,7 @@ [![GitHub contributors](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/) [![GitHub issues](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/) [![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/) -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](../http://makeapullrequest.com) [![GitHub watchers](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/) [![GitHub forks](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/) @@ -37,13 +37,13 @@ > 如果希望进一步学习,我们推荐跟随 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-15963-cxa) 的模块和学习路径。 -**对于老师们**,我们对于如何使用这套教程[提供了一些建议](for-teachers.md)。 +**对于老师们**,我们对于如何使用这套教程[提供了一些建议](../for-teachers.md)。 --- ## 项目团队 -[![宣传视频](ml-for-beginners.png)](https://youtu.be/Tj1XWrDSYJU "宣传视频") +[![宣传视频](../ml-for-beginners.png)](https://youtu.be/Tj1XWrDSYJU "宣传视频") > 🎥 点击上方的图片,来观看一个关于这个项目和它的创造者们的视频! @@ -54,7 +54,7 @@ 通过确保课程内容与项目强相关,我们让学习过程对学生更具吸引力,概念的学习也被深化了。难度较低的课前测验可以吸引学生学习课程,课后的第二次测验进一步重复了课堂中的概念。该课程被设计地灵活有趣,可以一次性全部学习,或者分开来一部分一部分学习。这些项目由浅入深,从第一周的的小项目开始,在第十二周的周期结束时变得较为复杂。本课程还包括一个关于机器学习实际应用的后记,可用作额外学分或讨论的基础。 -> 在这里,你可以找到我们的[行为守则](CODE_OF_CONDUCT.md),[对项目作出贡献](CONTRIBUTING.md)以及[翻译](TRANSLATIONS.md)指南。我们欢迎各位提出有建设性的反馈! +> 在这里,你可以找到我们的[行为守则](../CODE_OF_CONDUCT.md),[对项目作出贡献](../CONTRIBUTING.md)以及[翻译](../TRANSLATIONS.md)指南。我们欢迎各位提出有建设性的反馈! ## 每一节课都包含: @@ -74,41 +74,41 @@ | 课程编号 | 主体 | 课程组 | 学习目标 | 课程链接 | 作者 | | :-----------: | :--------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------: | :------------: | -| 01 | 机器学习简介 | [简介](1-Introduction/README.md) | 了解机器学习背后的基本概念 | [课程](1-Introduction/1-intro-to-ML/README.md) | Muhammad | -| 02 | 机器学习的历史 | [简介](1-Introduction/README.md) | 了解该领域的历史 | [课程](1-Introduction/2-history-of-ML/README.md) | Jen 和 Amy | -| 03 | 机器学习与公平 | [简介](1-Introduction/README.md) | 在构建和应用机器学习模型时,我们应该考虑哪些有关公平的重要哲学问题? | [课程](1-Introduction/3-fairness/README.md) | Tomomi | -| 04 | 机器学习的技术工具 | [简介](1-Introduction/README.md) | 机器学习研究者使用哪些技术来构建机器学习模型? | [课程](1-Introduction/4-techniques-of-ML/README.md) | Chris 和 Jen | -| 05 | 回归简介 | [回归](2-Regression/README.md) | 开始使用 Python 和 Scikit-learn 构建回归模型 | [课程](2-Regression/1-Tools/README.md) | Jen | -| 06 | 北美南瓜价格 🎃 | [回归](2-Regression/README.md) | 可视化、进行数据清理,为机器学习做准备 | [课程](2-Regression/2-Data/README.md) | Jen | -| 07 | 北美南瓜价格 🎃 | [回归](2-Regression/README.md) | 建立线性和多项式回归模型 | [课程](2-Regression/3-Linear/README.md) | Jen | -| 08 | 北美南瓜价格 🎃 | [回归](2-Regression/README.md) | 构建逻辑回归模型 | [课程](2-Regression/4-Logistic/README.md) | Jen | -| 09 | 一个网页应用 🔌 | [网页应用](3-Web-App/README.md) | 构建一个 Web 应用程序以使用经过训练的模型 | [课程](3-Web-App/1-Web-App/README.md) | Jen | -| 10 | 分类简介 | [分类](4-Classification/README.md) | 清理、准备和可视化数据; 分类简介 | [课程](4-Classification/1-Introduction/README.md) | Jen 和 Cassie | -| 11 | 美味的亚洲和印度美食 🍜 | [分类](4-Classification/README.md) | 分类器简介 | [课程](4-Classification/2-Classifiers-1/README.md) | Jen 和 Cassie | -| 12 | 美味的亚洲和印度美食 🍜 | [分类](4-Classification/README.md) | 关于分类器的更多内容 | [课程](4-Classification/3-Classifiers-2/README.md) | Jen 和 Cassie | -| 13 | 美味的亚洲和印度美食 🍜 | [分类](4-Classification/README.md) | 使用您的模型构建一个可以「推荐」的 Web 应用 | [课程](4-Classification/4-Applied/README.md) | Jen | -| 14 | 聚类简介 | [聚类](5-Clustering/README.md) | 清理、准备和可视化数据; 聚类简介 | [课程](5-Clustering/1-Visualize/README.md) | Jen | -| 15 | 探索尼日利亚人的音乐品味 🎧 | [聚类](5-Clustering/README.md) | 探索 K-Means 聚类方法 | [课程](5-Clustering/2-K-Means/README.md) | Jen | -| 16 | 自然语言处理 (NLP) 简介 ☕️ | [自然语言处理](6-NLP/README.md) | 通过构建一个简单的 bot (机器人) 来了解 NLP 的基础知识 | [课程](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | -| 17 | 常见的 NLP 任务 ☕️ | [自然语言处理](6-NLP/README.md) | 通过理解处理语言结构时所需的常见任务来加深对于自然语言处理 (NLP) 的理解 | [课程](6-NLP/2-Tasks/README.md) | Stephen | -| 18 | 翻译和情感分析 ♥️ | [自然语言处理](6-NLP/README.md) | 对简·奥斯汀的文本进行翻译和情感分析 | [课程](6-NLP/3-Translation-Sentiment/README.md) | Stephen | -| 19 | 欧洲的浪漫酒店 ♥️ | [自然语言处理](6-NLP/README.md) | 对于酒店评价进行情感分析(上) | [课程](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | -| 20 | 欧洲的浪漫酒店 ♥️ | [自然语言处理](6-NLP/README.md) | 对于酒店评价进行情感分析(下) | [课程](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | -| 21 | 时间序列预测简介 | [时间序列](7-TimeSeries/README.md) | 时间序列预测简介 forecasting | [课程](7-TimeSeries/1-Introduction/README.md) | Francesca | -| 22 | ⚡️ 世界用电量 ⚡️ - 使用 ARIMA 进行时间序列预测 | [时间序列](7-TimeSeries/README.md) | 使用 ARIMA 进行时间序列预测 | [课程](7-TimeSeries/2-ARIMA/README.md) | Francesca | -| 23 | 强化学习简介 | [强化学习](8-Reinforcement/README.md) | Q-Learning 强化学习简介 | [课程](8-Reinforcement/1-QLearning/README.md) | Dmitry | -| 24 | 帮助 Peter 避开狼!🐺 | [强化学习](8-Reinforcement/README.md) | 强化学习练习 | [课程](8-Reinforcement/2-Gym/README.md) | Dmitry | -| 后记 | 现实世界中的机器学习场景和应用 | [自然场景下的机器学习](9-Real-World/README.md) | 探索有趣的经典机器学习方法,了解现实世界中机器学习的应用 | [课程](9-Real-World/1-Applications/README.md) | 团队 | +| 01 | 机器学习简介 | [简介](../1-Introduction/README.md) | 了解机器学习背后的基本概念 | [课程](../1-Introduction/1-intro-to-ML/README.md) | Muhammad | +| 02 | 机器学习的历史 | [简介](../1-Introduction/README.md) | 了解该领域的历史 | [课程](../1-Introduction/2-history-of-ML/README.md) | Jen 和 Amy | +| 03 | 机器学习与公平 | [简介](../1-Introduction/README.md) | 在构建和应用机器学习模型时,我们应该考虑哪些有关公平的重要哲学问题? | [课程](../1-Introduction/3-fairness/README.md) | Tomomi | +| 04 | 机器学习的技术工具 | [简介](../1-Introduction/README.md) | 机器学习研究者使用哪些技术来构建机器学习模型? | [课程](../1-Introduction/4-techniques-of-ML/README.md) | Chris 和 Jen | +| 05 | 回归简介 | [回归](../2-Regression/README.md) | 开始使用 Python 和 Scikit-learn 构建回归模型 | [课程](../2-Regression/1-Tools/README.md) | Jen | +| 06 | 北美南瓜价格 🎃 | [回归](../2-Regression/README.md) | 可视化、进行数据清理,为机器学习做准备 | [课程](../2-Regression/2-Data/README.md) | Jen | +| 07 | 北美南瓜价格 🎃 | [回归](../2-Regression/README.md) | 建立线性和多项式回归模型 | [课程](../2-Regression/3-Linear/README.md) | Jen | +| 08 | 北美南瓜价格 🎃 | [回归](../2-Regression/README.md) | 构建逻辑回归模型 | [课程](../2-Regression/4-Logistic/README.md) | Jen | +| 09 | 一个网页应用 🔌 | [网页应用](../3-Web-App/README.md) | 构建一个 Web 应用程序以使用经过训练的模型 | [课程](../3-Web-App/1-Web-App/README.md) | Jen | +| 10 | 分类简介 | [分类](../4-Classification/README.md) | 清理、准备和可视化数据; 分类简介 | [课程](../4-Classification/1-Introduction/README.md) | Jen 和 Cassie | +| 11 | 美味的亚洲和印度美食 🍜 | [分类](../4-Classification/README.md) | 分类器简介 | [课程](../4-Classification/2-Classifiers-1/README.md) | Jen 和 Cassie | +| 12 | 美味的亚洲和印度美食 🍜 | [分类](../4-Classification/README.md) | 关于分类器的更多内容 | [课程](../4-Classification/3-Classifiers-2/README.md) | Jen 和 Cassie | +| 13 | 美味的亚洲和印度美食 🍜 | [分类](../4-Classification/README.md) | 使用您的模型构建一个可以「推荐」的 Web 应用 | [课程](../4-Classification/4-Applied/README.md) | Jen | +| 14 | 聚类简介 | [聚类](../5-Clustering/README.md) | 清理、准备和可视化数据; 聚类简介 | [课程](../5-Clustering/1-Visualize/README.md) | Jen | +| 15 | 探索尼日利亚人的音乐品味 🎧 | [聚类](../5-Clustering/README.md) | 探索 K-Means 聚类方法 | [课程](../5-Clustering/2-K-Means/README.md) | Jen | +| 16 | 自然语言处理 (NLP) 简介 ☕️ | [自然语言处理](../6-NLP/README.md) | 通过构建一个简单的 bot (机器人) 来了解 NLP 的基础知识 | [课程](../6-NLP/1-Introduction-to-NLP/README.md) | Stephen | +| 17 | 常见的 NLP 任务 ☕️ | [自然语言处理](../6-NLP/README.md) | 通过理解处理语言结构时所需的常见任务来加深对于自然语言处理 (NLP) 的理解 | [课程](../6-NLP/2-Tasks/README.md) | Stephen | +| 18 | 翻译和情感分析 ♥️ | [自然语言处理](../6-NLP/README.md) | 对简·奥斯汀的文本进行翻译和情感分析 | [课程](../6-NLP/3-Translation-Sentiment/README.md) | Stephen | +| 19 | 欧洲的浪漫酒店 ♥️ | [自然语言处理](../6-NLP/README.md) | 对于酒店评价进行情感分析(上) | [课程](../6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | +| 20 | 欧洲的浪漫酒店 ♥️ | [自然语言处理](../6-NLP/README.md) | 对于酒店评价进行情感分析(下) | [课程](../6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | +| 21 | 时间序列预测简介 | [时间序列](../7-TimeSeries/README.md) | 时间序列预测简介 forecasting | [课程](../7-TimeSeries/1-Introduction/README.md) | Francesca | +| 22 | ⚡️ 世界用电量 ⚡️ - 使用 ARIMA 进行时间序列预测 | [时间序列](../7-TimeSeries/README.md) | 使用 ARIMA 进行时间序列预测 | [课程](../7-TimeSeries/2-ARIMA/README.md) | Francesca | +| 23 | 强化学习简介 | [强化学习](../8-Reinforcement/README.md) | Q-Learning 强化学习简介 | [课程](../8-Reinforcement/1-QLearning/README.md) | Dmitry | +| 24 | 帮助 Peter 避开狼!🐺 | [强化学习](../8-Reinforcement/README.md) | 强化学习练习 | [课程](../8-Reinforcement/2-Gym/README.md) | Dmitry | +| 后记 | 现实世界中的机器学习场景和应用 | [自然场景下的机器学习](../9-Real-World/README.md) | 探索有趣的经典机器学习方法,了解现实世界中机器学习的应用 | [课程](../9-Real-World/1-Applications/README.md) | 团队 | ## 离线访问 您可以使用 [Docsify](https://docsify.js.org/#/) 离线运行此文档。 Fork 这个仓库,并在你的本地机器上[安装 Docsify](https://docsify.js.org/#/quickstart),并在这个仓库的根文件夹中运行 `docsify serve`。你可以通过 localhost 的 3000 端口访问此文档:`localhost:3000`。 ## PDF 文档们 -点击[这里](pdf/readme.pdf)查找课程的 PDF 文档们。 +点击[这里](../pdf/readme.pdf)查找课程的 PDF 文档们。 ## 需要你的帮助! -想贡献一份翻译吗?请阅读我们的[翻译指南](TRANSLATIONS.md)并在[此处](https://github.com/microsoft/ML-For-Beginners/issues/71)添加你的意见。 +想贡献一份翻译吗?请阅读我们的[翻译指南](../TRANSLATIONS.md)并在[此处](https://github.com/microsoft/ML-For-Beginners/issues/71)添加你的意见。 ## 其他课程