update zh-cn translation ()

* Update README.zh-cn.md

* Update README.md

* Update README.md

* Update README.ko.md

* Update README.it.md

* Update README.ru.md

* Update README.zh-cn.md

* Update README.ru.md

* Update README.zh-cn.md

* Update README.ru.md

* Update README.zh-cn.md

* Update README.zh-cn.md
pull/335/head
Flex Zhong 4 years ago committed by GitHub
parent b77275a8e9
commit 26691d38a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,16 +1,16 @@
# 对分类方法的介绍 # 对分类方法的介绍
在这四节课程中,你将会学习机器学习中一个基本的重点 - _分类_. 我们会在关于亚洲和印度的神奇的美食的数据集上尝试使用多种分类算法。希望你有点饿了。 在这四节课程中,你将会学习机器学习中一个基本的重点 - _分类_ 我们会在关于亚洲和印度的神奇的美食的数据集上尝试使用多种分类算法。希望你有点饿了。
![一个桃子!](../images/pinch.png) ![一个桃子!](../images/pinch.png)
>在学习的课程中赞叹泛亚地区的美食吧! 图片由 [Jen Looper](https://twitter.com/jenlooper)提供 > 在学习的课程中赞叹泛亚地区的美食吧! 图片由 [Jen Looper](https://twitter.com/jenlooper) 提供
分类算法是[监督学习](https://wikipedia.org/wiki/Supervised_learning) 的一种。它与回归算法在很多方面都有相同之处。如果机器学习所有的目标都是使用数据集来预测数值或物品的名字,那么分类算法通常可以分为两类 _二元分类__多元分类_ 分类算法是[监督学习](https://wikipedia.org/wiki/Supervised_learning)的一种。它与回归算法在很多方面都有相同之处。如果机器学习所有的目标都是使用数据集来预测数值或物品的名字,那么分类算法通常可以分为两类 _二元分类__多元分类_
[![对分类算法的介绍](https://img.youtube.com/vi/eg8DJYwdMyg/0.jpg)](https://youtu.be/eg8DJYwdMyg "对分类算法的介绍") [![对分类算法的介绍](https://img.youtube.com/vi/eg8DJYwdMyg/0.jpg)](https://youtu.be/eg8DJYwdMyg "对分类算法的介绍")
> 🎥 点击上方的图片可以跳转到一个视频-MIT的John对分类算法的介绍 > 🎥 点击上方的图片可以跳转到一个视频-MIT John 对分类算法的介绍
请记住: 请记住:
@ -25,7 +25,7 @@
![二元分类 vs 多元分类](../images/binary-multiclass.png) ![二元分类 vs 多元分类](../images/binary-multiclass.png)
> 需要分类算法解决的二元分类和多元分类问题的对比. 信息图由[Jen Looper](https://twitter.com/jenlooper)提供 > 需要分类算法解决的二元分类和多元分类问题的对比. 信息图由 [Jen Looper](https://twitter.com/jenlooper) 提供
在开始清洗数据、数据可视化和调整数据以适应机器学习的任务前,让我们来了解一下多种可用来数据分类的机器学习方法。 在开始清洗数据、数据可视化和调整数据以适应机器学习的任务前,让我们来了解一下多种可用来数据分类的机器学习方法。
@ -41,13 +41,13 @@
我们关于这个菜肴数据集想要提出的问题其实是一个 **多元问题**,因为我们有很多潜在的具有代表性的菜肴。给定一系列食材数据,数据能够符合这些类别中的哪一类? 我们关于这个菜肴数据集想要提出的问题其实是一个 **多元问题**,因为我们有很多潜在的具有代表性的菜肴。给定一系列食材数据,数据能够符合这些类别中的哪一类?
Scikit-learn项目提供多种对数据进行分类的算法你需要根据问题的具体类型来进行选择。在下两节课程中你会学到这些算法中的几个。 Scikit-learn 项目提供多种对数据进行分类的算法,你需要根据问题的具体类型来进行选择。在下两节课程中你会学到这些算法中的几个。
## 练习 - 清洗并平衡你的数据 ## 练习 - 清洗并平衡你的数据
在你开始进行这个项目前的第一个上手的任务就是清洗和 **平衡**你的数据来得到更好的结果。从当前目录的根目录中的 _nodebook.ipynb_ 开始。 在你开始进行这个项目前的第一个上手的任务就是清洗和 **平衡**你的数据来得到更好的结果。从当前目录的根目录中的 _nodebook.ipynb_ 开始。
第一个需要安装的东西是 [imblearn](https://imbalanced-learn.org/stable/)这是一个Scikit-learn项目中的一个包它可以让你更好的平衡数据 (关于这个任务你很快你就会学到更多)。 第一个需要安装的东西是 [imblearn](https://imbalanced-learn.org/stable/) 这是一个 Scikit-learn 项目中的一个包,它可以让你更好的平衡数据 (关于这个任务你很快你就会学到更多)。
1. 安装 `imblearn`, 运行命令 `pip install`: 1. 安装 `imblearn`, 运行命令 `pip install`:
@ -55,7 +55,7 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
pip install imblearn pip install imblearn
``` ```
1. 为了导入和可视化数据你需要导入下面的这些包, 你还需要从`imblearn`导入`SMOTE` 1. 为了导入和可视化数据你需要导入下面的这些包, 你还需要从 `imblearn` 导入 `SMOTE`
```python ```python
import pandas as pd import pandas as pd
@ -73,7 +73,7 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
df = pd.read_csv('../data/cuisines.csv') df = pd.read_csv('../data/cuisines.csv')
``` ```
使用函数 `read_csv()` 会读取csv文件的内容 _cusines.csv_ 并将内容放置在 变量`df`中。 使用函数 `read_csv()` 会读取 csv 文件的内容 _cusines.csv_ 并将内容放置在 变量 `df` 中。
1. 检查数据的形状是否正确: 1. 检查数据的形状是否正确:
@ -99,7 +99,7 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
df.info() df.info()
``` ```
Your out resembles: 你的输出应该像这样:
```output ```output
<class 'pandas.core.frame.DataFrame'> <class 'pandas.core.frame.DataFrame'>
@ -109,11 +109,11 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
memory usage: 7.2+ MB memory usage: 7.2+ MB
``` ```
## 练习 - 了解这些菜肴 ## 练习 - 了解这些菜肴
现在任务变得更有趣了,让我们来探索如何将数据分配给各个菜肴 现在任务变得更有趣了,让我们来探索如何将数据分配给各个菜肴
1. 调用函数 `barh()`可以绘制出数据的条形图: 1. 调用函数 `barh()` 可以绘制出数据的条形图:
```python ```python
df.cuisine.value_counts().plot.barh() df.cuisine.value_counts().plot.barh()
@ -152,7 +152,7 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
现在你可以在数据中探索的更深一点并了解每道菜肴的代表性食材。你需要将反复出现的、容易造成混淆的数据清理出去,那么让我们来学习解决这个问题。 现在你可以在数据中探索的更深一点并了解每道菜肴的代表性食材。你需要将反复出现的、容易造成混淆的数据清理出去,那么让我们来学习解决这个问题。
1. 在Python中创建一个函数 `create_ingredient_df()` 来创建一个食材的数据帧。这个函数会去掉数据中无用的列并按食材的数量进行分类。 1. 在 Python 中创建一个函数 `create_ingredient_df()` 来创建一个食材的数据帧。这个函数会去掉数据中无用的列并按食材的数量进行分类。
```python ```python
def create_ingredient_df(df): def create_ingredient_df(df):
@ -162,9 +162,9 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
inplace=False) inplace=False)
return ingredient_df return ingredient_df
``` ```
现在你可以使用这个函数来得到理想的每道菜肴最重要的10种食材。 现在你可以使用这个函数来得到理想的每道菜肴最重要的 10 种食材。
1. 调用函数 `create_ingredient_df()` 然后通过函数`barh()`来绘制图像: 1. 调用函数 `create_ingredient_df()` 然后通过函数 `barh()` 来绘制图像:
```python ```python
thai_ingredient_df = create_ingredient_df(thai_df) thai_ingredient_df = create_ingredient_df(thai_df)
@ -264,7 +264,7 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
transformed_df = pd.concat([transformed_label_df,transformed_feature_df],axis=1, join='outer') transformed_df = pd.concat([transformed_label_df,transformed_feature_df],axis=1, join='outer')
``` ```
1. 你可以通过调用函数 `transformed_df.head()``transformed_df.info()`再检查一下你的数据。 接下来要将数据保存以供在未来的课程中使用: 1. 你可以通过调用函数 `transformed_df.head()``transformed_df.info()` 再检查一下你的数据。 接下来要将数据保存以供在未来的课程中使用:
```python ```python
transformed_df.head() transformed_df.head()
@ -272,19 +272,19 @@ Scikit-learn项目提供多种对数据进行分类的算法你需要根据
transformed_df.to_csv("../data/cleaned_cuisines.csv") transformed_df.to_csv("../data/cleaned_cuisines.csv")
``` ```
这个全新的CSV文件可以在数据根目录中被找到。 这个全新的 CSV 文件可以在数据根目录中被找到。
--- ---
## 🚀小练习 ## 🚀小练习
本项目的全部课程含有很多有趣的数据集。 探索一下 `data`文件夹,看看这里面有没有适合二元分类、多元分类算法的数据集,再想一下你对这些数据集有没有什么想问的问题。 本项目的全部课程含有很多有趣的数据集。 探索一下 `data` 文件夹,看看这里面有没有适合二元分类、多元分类算法的数据集,再想一下你对这些数据集有没有什么想问的问题。
## [课后练习](https://white-water-09ec41f0f.azurestaticapps.net/quiz/20/) ## [课后练习](https://white-water-09ec41f0f.azurestaticapps.net/quiz/20/)
## 回顾 & 自学 ## 回顾 & 自学
探索一下 SMOTE的API文档。思考一下它最适合于什么样的情况、它能够解决什么样的问题。 探索一下 SMOTE API 文档。思考一下它最适合于什么样的情况、它能够解决什么样的问题。
## 课后作业 ## 课后作业

@ -1,17 +1,18 @@
# 菜品分类器1 # 菜品分类器 1
本节课程将使用你在上一个课程中所保存的全部经过均衡和清洗的菜品数据。 本节课程将使用你在上一个课程中所保存的全部经过均衡和清洗的菜品数据。
你将使用此数据集和各种分类器_根据一组配料预测这是哪一国家的美食_。在此过程中你将学到更多用来权衡分类任务算法的方法 你将使用此数据集和各种分类器_根据一组配料预测这是哪一国家的美食_。在此过程中你将学到更多用来权衡分类任务算法的方法
## [课前测验](https://white-water-09ec41f0f.azurestaticapps.net/quiz/21/) ## [课前测验](https://white-water-09ec41f0f.azurestaticapps.net/quiz/21/)
# 准备工作 # 准备工作
假如你已经完成了[课程1](../../1-Introduction/translations/README.zh-cn.md), 确保在根目录的`/data`文件夹中有 _cleaned_cuisines.csv_ 这份文件来进行接下来的四节课程。 假如你已经完成了[课程 1](../../1-Introduction/translations/README.zh-cn.md), 确保在根目录的 `/data` 文件夹中有 _cleaned_cuisines.csv_ 这份文件来进行接下来的四节课程。
## 练习 - 预测某国的菜品 ## 练习 - 预测某国的菜品
1. 在本节课的 _notebook.ipynb_ 文件中导入Pandas并读取相应的数据文件 1. 在本节课的 _notebook.ipynb_ 文件中,导入 Pandas并读取相应的数据文件
```python ```python
import pandas as pd import pandas as pd
@ -41,7 +42,7 @@
import numpy as np import numpy as np
``` ```
1. 接下来需要将数据分为训练模型所需的X译者注代表特征数据和y译者注代表标签数据两个dataframe。首先可将`cuisine`列的数据单独保存为的一个dataframe作为标签label 1. 接下来需要将数据分为训练模型所需的 X译者注代表特征数据 y译者注代表标签数据两个 dataframe。首先可将 `cuisine` 列的数据单独保存为的一个 dataframe 作为标签label
```python ```python
cuisines_label_df = cuisines_df['cuisine'] cuisines_label_df = cuisines_df['cuisine']
@ -59,7 +60,7 @@
Name: cuisine, dtype: object Name: cuisine, dtype: object
``` ```
1. 调用`drop()`方法将 `Unnamed: 0``cuisine`列删除并将余下的数据作为可以用于训练的特证feature数据: 1. 调用 `drop()` 方法将 `Unnamed: 0` `cuisine` 列删除并将余下的数据作为可以用于训练的特证feature数据:
```python ```python
cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1) cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)
@ -82,7 +83,7 @@
你的数据已经清洗干净并已经准备好可以进行训练了,现在需要决定你想要使用的算法来完成这项任务。 你的数据已经清洗干净并已经准备好可以进行训练了,现在需要决定你想要使用的算法来完成这项任务。
Scikit_learn将分类任务归在了监督学习类别中在这个类别中你可以找到很多可以用来分类的方法。乍一看上去有点[琳琅满目](https://scikit-learn.org/stable/supervised_learning.html)。以下这些算法都可以用于分类: Scikit_learn 将分类任务归在了监督学习类别中,在这个类别中你可以找到很多可以用来分类的方法。乍一看上去,有点[琳琅满目](https://scikit-learn.org/stable/supervised_learning.html)。以下这些算法都可以用于分类:
- 线性模型Linear Models - 线性模型Linear Models
- 支持向量机Support Vector Machines - 支持向量机Support Vector Machines
@ -97,18 +98,18 @@ Scikit_learn将分类任务归在了监督学习类别中在这个类别中
### 如何选择分类器? ### 如何选择分类器?
那么你应该如何从中选择分类器呢一般来说可以选择多个分类器并对比他们的运行结果。Scikit-learn提供了各种算法包括KNeighbors、 SVC two ways、 GaussianProcessClassifier、 DecisionTreeClassifier、 RandomForestClassifier、 MLPClassifier、 AdaBoostClassifier、 GaussianNB以及QuadraticDiscrinationAnalysis的[对比](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html),并且将结果进行了可视化的展示: 那么你应该如何从中选择分类器呢一般来说可以选择多个分类器并对比他们的运行结果。Scikit-learn 提供了各种算法(包括 KNeighbors、 SVC two ways、 GaussianProcessClassifier、 DecisionTreeClassifier、 RandomForestClassifier、 MLPClassifier、 AdaBoostClassifier、 GaussianNB 以及 QuadraticDiscrinationAnalysis的[对比](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html),并且将结果进行了可视化的展示:
![各分类器比较](../images/comparison.png) ![各分类器比较](../images/comparison.png)
> 图表来源于Scikit-learn的官方文档 > 图表来源于 Scikit-learn 的官方文档
> AutoML通过在云端运行这些算法并进行了对比非常巧妙地解决的算法选择的问题能帮助你根据数据集的特点来选择最佳的算法。试试点击[这里](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-15963-cxa)了解更多。 > AutoML 通过在云端运行这些算法并进行了对比,非常巧妙地解决的算法选择的问题,能帮助你根据数据集的特点来选择最佳的算法。试试点击[这里](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-15963-cxa)了解更多。
### 另外一种效果更佳的分类器选择方法 ### 另外一种效果更佳的分类器选择方法
比起无脑地猜测,你可以下载这份[机器学习小抄cheatsheet](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-15963-cxa)。这里面将各算法进行了比较,能更有效地帮助我们选择算法。根据这份小抄,我们可以找到要完成本课程中涉及的多类型的分类任务,可以有以下这些选择: 比起无脑地猜测,你可以下载这份[机器学习速查表cheatsheet](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-15963-cxa)。这里面将各算法进行了比较,能更有效地帮助我们选择算法。根据这份速查表,我们可以找到要完成本课程中涉及的多类型的分类任务,可以有以下这些选择:
![多类型问题作弊表](../images/cheatsheet.png) ![多类型问题速查表](../images/cheatsheet.png)
> 微软算法小抄中部分关于多类型分类任务可选算法 > 微软算法小抄中部分关于多类型分类任务可选算法
✅ 下载这份小抄,并打印出来,挂在你的墙上吧! ✅ 下载这份小抄,并打印出来,挂在你的墙上吧!
@ -117,23 +118,23 @@ Scikit_learn将分类任务归在了监督学习类别中在这个类别中
让我们根据所有限制条件依次对各种算法的可行性进行判断: 让我们根据所有限制条件依次对各种算法的可行性进行判断:
- **神经网络Neural Network太过复杂了**。我们的数据很清晰但数据量比较小此外我们是通过notebook在本地进行训练的神经网络对于这个任务来说过于复杂了。 - **神经网络Neural Network太过复杂了**。我们的数据很清晰但数据量比较小,此外我们是通过 notebook 在本地进行训练的,神经网络对于这个任务来说过于复杂了。
- **二分类法(two-class classifier)是不可行的**。我们不能使用二分类法,所以这就排除了一对多one-vs-all算法。 - **二分类法two-class classifier是不可行的**。我们不能使用二分类法,所以这就排除了一对多one-vs-all算法。
- **可以选择决策树以及逻辑回归算法**。决策树应该是可行的,此外也可以使用逻辑回归来处理多类型数据。 - **可以选择决策树以及逻辑回归算法**。决策树应该是可行的,此外也可以使用逻辑回归来处理多类型数据。
- **多类型增强决策树是用于解决其他问题的**. 多类型增强决策树最适合的是非参数化的任务,即任务目标是建立一个排序,这对我们当前的任务并没有作用。 - **多类型增强决策树是用于解决其他问题的**. 多类型增强决策树最适合的是非参数化的任务,即任务目标是建立一个排序,这对我们当前的任务并没有作用。
### 使用Scikit-learn ### 使用 Scikit-learn
我们将会使用Scikit-learn来对我们的数据进行分析。然而在Scikit-learn中使用逻辑回归也有很多方法。可以先了解一下逻辑回归算法需要[传递的参数](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression)。 我们将会使用 Scikit-learn 来对我们的数据进行分析。然而在 Scikit-learn 中使用逻辑回归也有很多方法。可以先了解一下逻辑回归算法需要[传递的参数](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression)。
当我们需要Scikit-learn进行逻辑回归运算时`multi_class` 以及 `solver`是最重要的两个参数,因此我们需要特别说明一下。 `multi_class` 是分类方式选择参数,而`solver`优化算法选择参数。值得注意的是并不是所有的solvers都可以与`multi_class`参数进行匹配的。 当我们需要 Scikit-learn 进行逻辑回归运算时,`multi_class` 以及 `solver`是最重要的两个参数,因此我们需要特别说明一下。 `multi_class` 是分类方式选择参数,而`solver`优化算法选择参数。值得注意的是,并不是所有的 solvers 都可以与`multi_class`参数进行匹配的。
根据官方文档,在多类型分类问题中: 根据官方文档,在多类型分类问题中:
- 当`multi_class`被设置为`ovr`时,将使用 **“一对其余”(OvR)策略scheme**。 - 当 `multi_class` 被设置为 `ovr` 时,将使用 **“一对其余”(OvR)策略scheme**。
- 当`multi_class`被设置为`multinomial`时,则使用的是**交叉熵损失cross entropy loss** 作为损失函数。(注意,目前`multinomial`只支持lbfgs, sag, saga以及newton-cg等solver作为损失函数的优化方法) - 当 `multi_class` 被设置为 `multinomial` 时,则使用的是**交叉熵损失cross entropy loss** 作为损失函数。(注意,目前`multinomial`只支持lbfgs, sag, saga以及newton-cg solver 作为损失函数的优化方法)
> 🎓 在本课程的任务中“scheme”可以是“ovr(one-vs-rest)”也可以是“multinomial”。因为逻辑回归本来是设计来用于进行二分类任务的这两个scheme参数的选择都可以使得逻辑回归很好的完成多类型分类任务。[来源](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/) > 🎓 在本课程的任务中“scheme”可以是“ovr(one-vs-rest)”也可以是“multinomial”。因为逻辑回归本来是设计来用于进行二分类任务的这两个 scheme 参数的选择都可以使得逻辑回归很好的完成多类型分类任务。[来源](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/)
> 🎓 “solver”被定义为是"用于解决优化问题的算法"。[来源](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). > 🎓 “solver”被定义为是"用于解决优化问题的算法"。[来源](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression).
@ -145,16 +146,15 @@ Scikit-learn提供了以下这个表格来解释各种solver是如何应对的
因为你刚刚在上一节课中学习了逻辑回归,我们这里就通过逻辑回归算法,来演练一下如何进行你的第一个机器学习模型的训练。首先,需要通过调用`train_test_split()`方法可以把你的数据分割成训练集和测试集: 因为你刚刚在上一节课中学习了逻辑回归,我们这里就通过逻辑回归算法,来演练一下如何进行你的第一个机器学习模型的训练。首先,需要通过调用`train_test_split()`方法可以把你的数据分割成训练集和测试集:
```python ```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3) X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
``` ```
## 练习 - 调用逻辑回归算法 ## 练习 - 调用逻辑回归算法
接下来,你需要决定选用什么 _scheme_ 以及 _solver_ 来进行我们这个多类型分类的案例。在这里我们使用LogisticRegression方法并设置相应的multi_class参数同时将solver设置为**liblinear**来进行模型训练。 接下来,你需要决定选用什么 _scheme_ 以及 _solver_ 来进行我们这个多类型分类的案例。在这里我们使用 LogisticRegression 方法,并设置相应的 multi_class 参数,同时将 solver 设置为 **liblinear** 来进行模型训练。
1. 创建一个逻辑回归模型并将multi_class设置为`ovr`同时将solver设置为 `liblinear`: 1. 创建一个逻辑回归模型,并将 multi_class 设置为 `ovr`,同时将 solver 设置为 `liblinear`:
```python ```python
lr = LogisticRegression(multi_class='ovr',solver='liblinear') lr = LogisticRegression(multi_class='ovr',solver='liblinear')
@ -164,13 +164,13 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
print ("Accuracy is {}".format(accuracy)) print ("Accuracy is {}".format(accuracy))
``` ```
✅ 也可以试试其他solver比如`lbfgs`, 这也是默认参数 ✅ 也可以试试其他 solver 比如 `lbfgs`, 这也是默认参数
> 注意, 使用Pandas的[`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) 方法可以在需要的时候将你的数据进行降维 > 注意, 使用 Pandas [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) 方法可以在需要的时候将你的数据进行降维
运算之后,可以看到准确率高达了**80%**! 运算之后,可以看到准确率高达 **80%**!
1. 你也可以通过查看某一行数据比如第50行来观测到模型运行的情况: 1. 你也可以通过查看某一行数据(比如第 50 行)来观测到模型运行的情况:
```python ```python
print(f'ingredients: {X_test.iloc[50][X_test.iloc[50]!=0].keys()}') print(f'ingredients: {X_test.iloc[50][X_test.iloc[50]!=0].keys()}')
@ -230,13 +230,14 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
## 挑战 ## 挑战
在本课程中你使用了清洗后的数据建立了一个机器学习的模型这个模型能够根据输入的一系列的配料来预测菜品来自于哪个国家。请再花点时间阅读一下Scikit-learn所提供的关于可以用来分类数据的其他方法的资料。此外你也可以深入研究一下“solver”的概念并尝试一下理解其背后的原理。 在本课程中,你使用了清洗后的数据建立了一个机器学习的模型,这个模型能够根据输入的一系列的配料来预测菜品来自于哪个国家。请再花点时间阅读一下 Scikit-learn 所提供的关于可以用来分类数据的其他方法的资料。此外你也可以深入研究一下“solver”的概念并尝试一下理解其背后的原理。
## [课后测验](https://white-water-09ec41f0f.azurestaticapps.net/quiz/22/) ## [课后测验](https://white-water-09ec41f0f.azurestaticapps.net/quiz/22/)
## 回顾与自学 ## 回顾与自学
[这个课程](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf)将对逻辑回归背后的数学原理进行更加深入的讲解 [这个课程](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf)将对逻辑回归背后的数学原理进行更加深入的讲解
## 作业 ## 作业
[学习solver](assignment.md) [学习 solver](assignment.md)

@ -1,4 +1,5 @@
# Getting started with classification # Getting started with classification
## Regional topic: Delicious Asian and Indian Cuisines 🍜 ## Regional topic: Delicious Asian and Indian Cuisines 🍜
In Asia and India, food traditions are extremely diverse, and very delicious! Let's look at data about regional cuisines to try to understand their ingredients. In Asia and India, food traditions are extremely diverse, and very delicious! Let's look at data about regional cuisines to try to understand their ingredients.
@ -18,8 +19,9 @@ In this section, you will build on the skills you learned in the first part of t
2. [More classifiers](2-Classifiers-1/README.md) 2. [More classifiers](2-Classifiers-1/README.md)
3. [Yet other classifiers](3-Classifiers-2/README.md) 3. [Yet other classifiers](3-Classifiers-2/README.md)
4. [Applied ML: build a web app](4-Applied/README.md) 4. [Applied ML: build a web app](4-Applied/README.md)
## Credits ## Credits
"Getting started with classification" was written with ♥️ by [Cassie Breviu](https://www.twitter.com/cassieview) and [Jen Looper](https://www.twitter.com/jenlooper) "Getting started with classification" was written with ♥️ by [Cassie Breviu](https://www.twitter.com/cassieview) and [Jen Looper](https://www.twitter.com/jenlooper)
The delicious cuisines dataset was sourced from [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines) The delicious cuisines dataset was sourced from [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines).

@ -21,6 +21,6 @@ In questa sezione si approfondiranno le abilità sulla regressione apprese nella
4. [Machine Learning applicato: sviluppare un'app web](../4-Applied/translations/README.it.md) 4. [Machine Learning applicato: sviluppare un'app web](../4-Applied/translations/README.it.md)
## Crediti ## Crediti
"Iniziare con la classificazione" è stato scritto con ♥️ da [Cassie Breviu](https://www.twitter.com/cassieview) e [Jen Looper](https://www.twitter.com/jenlooper) "Iniziare con la classificazione" è stato scritto con ♥️ da [Cassie Breviu](https://www.twitter.com/cassieview) e [Jen Looper](https://www.twitter.com/jenlooper).
L'insieme di dati sulle deliziose cucine proviene da [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines) L'insieme di dati sulle deliziose cucine proviene da [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines).

@ -22,6 +22,6 @@
## 크레딧 ## 크레딧
"Getting started with classification" was written with ♥️ by [Cassie Breviu](https://www.twitter.com/cassieview) and [Jen Looper](https://www.twitter.com/jenlooper) "Getting started with classification" was written with ♥️ by [Cassie Breviu](https://www.twitter.com/cassieview) and [Jen Looper](https://www.twitter.com/jenlooper).
맛있는 요리 데이터셋은 [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines)에서 가져왔습니다. 맛있는 요리 데이터셋은 [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines)에서 가져왔습니다.

@ -3,7 +3,7 @@
В Азии и Индии традиции кухни чрезвычайно разнообразны и очень вкусны! Давайте посмотрим на данные о региональных кухнях, чтобы попытаться понять их состав. В Азии и Индии традиции кухни чрезвычайно разнообразны и очень вкусны! Давайте посмотрим на данные о региональных кухнях, чтобы попытаться понять их состав.
! [Продавец тайской еды](./images/thai-food.jpg) ![Продавец тайской еды](../images/thai-food.jpg)
> Фото <a href="https://unsplash.com/@changlisheng?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText"> Лишенг Чанг </a> на <a href="https://unsplash.com/s/photos/asian-food?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText "> Unsplash </a> > Фото <a href="https://unsplash.com/@changlisheng?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText"> Лишенг Чанг </a> на <a href="https://unsplash.com/s/photos/asian-food?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText "> Unsplash </a>
## Что вы узнаете ## Что вы узнаете
@ -14,12 +14,13 @@
## Уроки ## Уроки
1. [Введение в классификацию](1-Introduction/README.md) 1. [Введение в классификацию](../1-Introduction/README.md)
2. [Другие классификаторы](2-Classifiers-1/README.md) 2. [Другие классификаторы](../2-Classifiers-1/README.md)
3. [Еще классификаторы](3-Classifiers-2/README.md) 3. [Еще классификаторы](../3-Classifiers-2/README.md)
4. [Прикладное машинное обучение: создание веб-приложения](4-Applied/README.md) 4. [Прикладное машинное обучение: создание веб-приложения](../4-Applied/README.md)
## Благодарности ## Благодарности
«Начало работы с классификацией» было написано с[Кэсси Бревиу](https://www.twitter.com/cassieview) и [Джен Лупер](https://www.twitter.com/jenlooper) «Начало работы с классификацией» было написано с[Кэсси Бревиу](https://www.twitter.com/cassieview) и [Джен Лупер](https://www.twitter.com/jenlooper)
Набор данных о вкусных блюдах взят из [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines) Набор данных о вкусных блюдах взят из [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines)

@ -1,26 +1,27 @@
# 开始学习分类方法 # 开始学习分类方法
## 地方性的话题:美味的亚洲与印度菜肴 🍜 ## 地方性的话题:美味的亚洲与印度菜肴 🍜
无论是在亚洲亦或是在印度,饮食风俗在美味无比的同时,又在不同的地区各具特色。我们来看一些地方美食的数据,并尝试理解一下他们的原料。 无论是在亚洲亦或是在印度,饮食风俗在美味无比的同时,又在不同的地区各具特色。我们来看一些地方美食的数据,并尝试理解一下他们的原料。
![Thai food seller](./images/thai-food.jpg) ![Thai food seller](../images/thai-food.jpg)
> Photo by <a href="https://unsplash.com/@changlisheng?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Lisheng Chang</a> on <a href="https://unsplash.com/s/photos/asian-food?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> > 图片由 <a href="https://unsplash.com/@changlisheng?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Lisheng Chang</a> 提供,来自 <a href="https://unsplash.com/s/photos/asian-food?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
## 你会学到什么 ## 你会学到什么
建立在我们之前所讨论的关于回归问题的讨论基础上,在本小节中,你将继续学习能够帮助你更好地理解数据的各种分类器。 建立在我们之前关于回归问题的讨论基础上,在本小节中,你将继续学习能够帮助你更好地理解数据的各种分类器。
> 这里有一些不太涉及代码,帮助你了解如何使用分类模型的小工具。可以试试用 Azure 来完成[这个小任务](https://docs.microsoft.com/learn/modules/create-classification-model-azure-machine-learning-designer/?WT.mc_id=academic-15963-cxa)。 > 这里有一些不太涉及代码,且能帮助你了解如何使用分类模型的小工具。可以试试用 Azure 来完成[这个小任务](https://docs.microsoft.com/learn/modules/create-classification-model-azure-machine-learning-designer/?WT.mc_id=academic-15963-cxa)。
## 课程 ## 课程
1. [介绍分类方法](1-Introduction/README.md) 1. [介绍分类方法](../1-Introduction/translations/README.zh-cn.md)
2. [其他分类器](2-Classifiers-1/README.md) 2. [其他分类器](../2-Classifiers-1/translations/README.zh-cn.md)
3. [更多其他的分类器](3-Classifiers-2/README.md) 3. [更多其他的分类器](../3-Classifiers-2/README.md)
4. [应用机器学习:做一个网页 APP](4-Applied/README.md) 4. [应用机器学习:做一个网页 APP](../4-Applied/README.md)
## 致谢 ## 致谢
"开始学习分类方法“部分由 [Cassie Breviu](https://www.twitter.com/cassieview) 和 [Jen Looper](https://www.twitter.com/jenlooper) 带着 ♥️ 写作 “开始学习分类方法”部分由 [Cassie Breviu](https://www.twitter.com/cassieview) 和 [Jen Looper](https://www.twitter.com/jenlooper) 用 ♥️ 写作。
这些美食的数据库数据来源于 [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines)。 这些美食的数据来源于 [Kaggle](https://www.kaggle.com/hoandan/asian-and-indian-cuisines)。

Loading…
Cancel
Save