Merge branch 'microsoft:main' into main

pull/182/head
edgargonarr 3 years ago committed by GitHub
commit a7fb2f75f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -145,7 +145,7 @@
| 未列出性别 | 0.33 | 0.31 | 1266 |
张桌子告诉我们几件事。首先,我们注意到数据中的未列出性别的人相对较少。数据是有偏差的,所以你需要小心解释这些数字。
个表格告诉我们几件事。首先,我们注意到数据中的未列出性别的人相对较少。数据是有偏差的,所以你需要小心解释这些数字。
在本例中我们有3个组和2个度量。当我们考虑我们的系统如何影响贷款申请人的客户群时这可能就足够了但是当你想要定义更多的组时你可能需要将其提取到更小的摘要集。为此你可以添加更多的度量例如每个假阴性和假阳性的最大差异或最小比率。

@ -0,0 +1,22 @@
# Introduction au machine learning
Dans cette section du programme, vous découvrirez les concepts de base sous-jacents au domaine du machine learning, ce quil 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 <a href="https://unsplash.com/@bill_oxford?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Bill Oxford</a> sur <a href="https://unsplash.com/s/photos/globe?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
### Leçons
1. [Introduction au machine learning](1-intro-to-ML/README.md)
1. [Lhistoire du machine learning et de lIA](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 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)
"Lhistoire du machine learning" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Amy Boyd](https://twitter.com/AmyKateNicho)
"Équité et machine learning" a été écrit avec ♥️ par [Tomomi Imura](https://twitter.com/girliemac)
"Techniques de machine learning" a été écrit avec ♥️ par [Jen Looper](https://twitter.com/jenlooper) et [Chris Noring](https://twitter.com/softchris)

@ -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 <a href="https://unsplash.com/@teutschmann?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Beth Teutschmann</a> sur <a href="https://unsplash.com/s/photos/jack-o-lanterns?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
## 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/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
"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.

@ -0,0 +1,347 @@
# 构建使用ML模型的Web应用程序
在本课中你将在一个数据集上训练一个ML模型这个数据集来自世界各地过去一个世纪的UFO目击事件来源于[NUFORC的数据库](https://www.nuforc.org)。
你将学会:
- 如何“pickle”一个训练有素的模型
- 如何在Flask应用程序中使用该模型
我们将继续使用notebook来清理数据和训练我们的模型但你可以进一步探索在web应用程序中使用模型。
为此你需要使用Flask构建一个web应用程序。
## [课前测](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/17/)
## 构建应用程序
有多种方法可以构建Web应用程序以使用机器学习模型。你的web架构可能会影响你的模型训练方式。想象一下你在一家企业工作其中数据科学小组已经训练了他们希望你在应用程序中使用的模型。
### 注意事项
你需要问很多问题:
- **它是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供在线应用程序在云中查询。
你还有机会构建一个完整的Flask Web应用程序该应用程序能够在 Web浏览器中训练模型本身。这也可以在JavaScript上下文中使用 TensorFlow.js来完成。
出于我们的目的既然我们一直在使用基于Python的notebook那么就让我们探讨一下将经过训练的模型从notebook导出为Python构建的web应用程序可读的格式所需要采取的步骤。
## 工具
对于此任务你需要两个工具Flask和Pickle它们都在Python上运行。
✅ 什么是 [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构建应用程序。
✅ 什么是[Pickle](https://docs.python.org/3/library/pickle.html) Pickle🥒是一 Python模块用于序列化和反序列化 Python对象结构。当你“pickle”一个模型时你将其结构序列化或展平以在 Web上使用。小心pickle本质上不是安全的所以如果提示“un-pickle”文件请小心。生产的文件具有后缀`.pkl`。
## 练习 - 清理你的数据
在本课中,你将使用由 [NUFORC](https://nuforc.org)(国家 UFO 报告中心收集的80,000次UFO目击数据。这些数据对UFO目击事件有一些有趣的描述例如
- **详细描述**。"一名男子从夜间照射在草地上的光束中出现,他朝德克萨斯仪器公司的停车场跑去"。
- **简短描述**。 “灯光追着我们”。
[ufos.csv](./data/ufos.csv)电子表格包括有关目击事件发生的`city`、`state`和`country`、对象的`shape`及其`latitude`和`longitude`的列。
在包含在本课中的空白[notebook](notebook.ipynb)中:
1. 像在之前的课程中一样导入`pandas`、`matplotlib`和`numpy`然后导入ufos电子表格。你可以查看一个示例数据集
```python
import pandas as pd
import numpy as np
ufos = pd.read_csv('../data/ufos.csv')
ufos.head()
```
2. 将ufos数据转换为带有新标题的小dataframe。检查`country`字段中的唯一值。
```python
ufos = pd.DataFrame({'Seconds': ufos['duration (seconds)'], 'Country': ufos['country'],'Latitude': ufos['latitude'],'Longitude': ufos['longitude']})
ufos.Country.unique()
```
3. 现在你可以通过删除任何空值并仅导入1-60秒之间的目击数据来减少我们需要处理的数据量
```python
ufos.dropna(inplace=True)
ufos = ufos[(ufos['Seconds'] >= 1) & (ufos['Seconds'] <= 60)]
ufos.info()
```
4. 导入Scikit-learn的`LabelEncoder`库,将国家的文本值转换为数字:
✅ LabelEncoder按字母顺序编码数据
```python
from sklearn.preprocessing import LabelEncoder
ufos['Country'] = LabelEncoder().fit_transform(ufos['Country'])
ufos.head()
```
你的数据应如下所示:
```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
```
## 练习 - 建立你的模型
现在,你可以通过将数据划分为训练和测试组来准备训练模型。
1. 选择要训练的三个特征作为X向量y向量将是`Country` 你希望能够输入`Seconds`、`Latitude`和`Longitude`并获得要返回的国家/地区ID。
```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)
```
2. 使用逻辑回归训练模型:
```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))
```
准确率还不错**(大约 95%**,不出所料,因为`Country`和`Latitude/Longitude`相关。
你创建的模型并不是非常具有革命性,因为你应该能够从其`Latitude`和`Longitude`推断出`Country`但是尝试从清理、导出的原始数据进行训练然后在web应用程序中使用此模型是一个很好的练习。
## 练习 - “pickle”你的模型
现在是时候_pickle_你的模型了你可以在几行代码中做到这一点。一旦它是 _pickled_加载你的pickled模型并针对包含秒、纬度和经度值的示例数据数组对其进行测试
```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]]))
```
该模型返回**'3'**,这是英国的国家代码。👽
## 练习 - 构建Flask应用程序
现在你可以构建一个Flask应用程序来调用你的模型并返回类似的结果但以一种更美观的方式。
1. 首先在你的 _ufo-model.pkl_ 文件所在的_notebook.ipynb_文件旁边创建一个名为**web-app**的文件夹。
2. 在该文件夹中创建另外三个文件夹:**static**,其中有文件夹**css**和**templates`**。 你现在应该拥有以下文件和目录
```output
web-app/
static/
css/
templates/
notebook.ipynb
ufo-model.pkl
```
✅ 请参阅解决方案文件夹以查看已完成的应用程序
3. 在_web-app_文件夹中创建的第一个文件是**requirements.txt**文件。与JavaScript应用程序中的_package.json_一样此文件列出了应用程序所需的依赖项。在**requirements.txt**中添加以下几行:
```text
scikit-learn
pandas
numpy
flask
```
4. 现在进入web-app文件夹
```bash
cd web-app
```
5. 在你的终端中输入`pip install`以安装_reuirements.txt_中列出的库
```bash
pip install -r requirements.txt
```
6. 现在,你已准备好创建另外三个文件来完成应用程序:
1. 在根目录中创建**app.py**
2. 在_templates_目录中创建**index.html**。
3. 在_static/css_目录中创建**styles.css**。
7. 使用一些样式构建_styles.css_文件
```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;
}
```
8. 接下来构建_index.html_文件
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>🛸 UFO Appearance Prediction! 👽</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
</head>
<body>
<div class="grid">
<div class="box">
<p>According to the number of seconds, latitude and longitude, which country is likely to have reported seeing a UFO?</p>
<form action="{{ url_for('predict')}}" method="post">
<input type="number" name="seconds" placeholder="Seconds" required="required" min="0" max="60" />
<input type="text" name="latitude" placeholder="Latitude" required="required" />
<input type="text" name="longitude" placeholder="Longitude" required="required" />
<button type="submit" class="btn">Predict country where the UFO is seen</button>
</form>
<p>{{ prediction_text }}</p>
</div>
</div>
</body>
</html>
```
看看这个文件中的模板。请注意应用程序将提供的变量周围的“mustache”语法例如预测文本`{{}}`。还有一个表单可以将预测发布到`/predict`路由。
最后你已准备好构建使用模型和显示预测的python 文件:
9. 在`app.py`中添加:
```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)
```
> 💡 提示当你在使用Flask运行Web应用程序时添加 [`debug=True`](https://www.askpython.com/python-modules/flask/flask-debug-mode)时你对应用程序所做的任何更改将立即反映,无需重新启动服务器。注意!不要在生产应用程序中启用此模式
如果你运行`python app.py`或`python3 app.py` - 你的网络服务器在本地启动你可以填写一个简短的表格来回答你关于在哪里看到UFO的问题
在此之前,先看一下`app.py`的实现:
1. 首先,加载依赖项并启动应用程序。
2. 然后,导入模型。
3. 然后在home路由上渲染index.html。
在`/predict`路由上,当表单被发布时会发生几件事情:
1. 收集表单变量并转换为numpy数组。然后将它们发送到模型并返回预测。
2. 我们希望显示的国家/地区根据其预测的国家/地区代码重新呈现为可读文本并将该值发送回index.html以在模板中呈现。
以这种方式使用模型包括Flask和pickled模型是相对简单的。最困难的是要理解数据是什么形状的这些数据必须发送到模型中才能得到预测。这完全取决于模型是如何训练的。有三个数据要输入以便得到一个预测。
在一个专业的环境中你可以看到训练模型的人和在Web或移动应用程序中使用模型的人之间的良好沟通是多么的必要。在我们的情况下只有一个人
---
## 🚀 挑战:
你可以在Flask应用程序中训练模型而不是在notebook上工作并将模型导入Flask应用程序尝试在notebook中转换Python代码可能是在清除数据之后从应用程序中的一个名为`train`的路径训练模型。采用这种方法的利弊是什么?
## [课后测](https://jolly-sea-0a877260f.azurestaticapps.net/quiz/18/)
## 复习与自学
有很多方法可以构建一个Web应用程序来使用ML模型。列出可以使用JavaScript或Python构建Web应用程序以利用机器学习的方法。考虑架构模型应该留在应用程序中还是存在于云中如果是后者你将如何访问它为应用的ML Web解决方案绘制架构模型。
## 任务
[尝试不同的模型](../assignment.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)
Loading…
Cancel
Save