|
|
@ -5,6 +5,7 @@
|
|
|
|
你将使用此数据集和各种分类器,_根据一组配料预测这是哪一国家的美食_。在此过程中,你将学到更多用来权衡分类任务算法的方法
|
|
|
|
你将使用此数据集和各种分类器,_根据一组配料预测这是哪一国家的美食_。在此过程中,你将学到更多用来权衡分类任务算法的方法
|
|
|
|
|
|
|
|
|
|
|
|
## [课前测验](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_ 这份文件来进行接下来的四节课程。
|
|
|
@ -106,9 +107,9 @@ Scikit_learn将分类任务归在了监督学习类别中,在这个类别中
|
|
|
|
|
|
|
|
|
|
|
|
### 另外一种效果更佳的分类器选择方法
|
|
|
|
### 另外一种效果更佳的分类器选择方法
|
|
|
|
|
|
|
|
|
|
|
|
比起无脑地猜测,你可以下载这份[机器学习小抄(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)。这里面将各算法进行了比较,能更有效地帮助我们选择算法。根据这份速查表,我们可以找到要完成本课程中涉及的多类型的分类任务,可以有以下这些选择:
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
> 微软算法小抄中部分关于多类型分类任务可选算法
|
|
|
|
> 微软算法小抄中部分关于多类型分类任务可选算法
|
|
|
|
|
|
|
|
|
|
|
|
✅ 下载这份小抄,并打印出来,挂在你的墙上吧!
|
|
|
|
✅ 下载这份小抄,并打印出来,挂在你的墙上吧!
|
|
|
@ -118,7 +119,7 @@ Scikit_learn将分类任务归在了监督学习类别中,在这个类别中
|
|
|
|
让我们根据所有限制条件依次对各种算法的可行性进行判断:
|
|
|
|
让我们根据所有限制条件依次对各种算法的可行性进行判断:
|
|
|
|
|
|
|
|
|
|
|
|
- **神经网络(Neural Network)太过复杂了**。我们的数据很清晰但数据量比较小,此外我们是通过 notebook 在本地进行训练的,神经网络对于这个任务来说过于复杂了。
|
|
|
|
- **神经网络(Neural Network)太过复杂了**。我们的数据很清晰但数据量比较小,此外我们是通过 notebook 在本地进行训练的,神经网络对于这个任务来说过于复杂了。
|
|
|
|
- **二分类法(two-class classifier)是不可行的**。我们不能使用二分类法,所以这就排除了一对多(one-vs-all)算法。
|
|
|
|
- **二分类法(two-class classifier)是不可行的**。我们不能使用二分类法,所以这就排除了一对多(one-vs-all)算法。
|
|
|
|
- **可以选择决策树以及逻辑回归算法**。决策树应该是可行的,此外也可以使用逻辑回归来处理多类型数据。
|
|
|
|
- **可以选择决策树以及逻辑回归算法**。决策树应该是可行的,此外也可以使用逻辑回归来处理多类型数据。
|
|
|
|
- **多类型增强决策树是用于解决其他问题的**. 多类型增强决策树最适合的是非参数化的任务,即任务目标是建立一个排序,这对我们当前的任务并没有作用。
|
|
|
|
- **多类型增强决策树是用于解决其他问题的**. 多类型增强决策树最适合的是非参数化的任务,即任务目标是建立一个排序,这对我们当前的任务并没有作用。
|
|
|
|
|
|
|
|
|
|
|
@ -145,7 +146,6 @@ 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)
|
|
|
|
```
|
|
|
|
```
|
|
|
@ -168,7 +168,7 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine
|
|
|
|
|
|
|
|
|
|
|
|
> 注意, 使用 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 行)来观测到模型运行的情况:
|
|
|
|
|
|
|
|
|
|
|
@ -233,6 +233,7 @@ 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)将对逻辑回归背后的数学原理进行更加深入的讲解
|
|
|
|