Skip to content

Commit

Permalink
修改为二级标题,添加导航链接
Browse files Browse the repository at this point in the history
  • Loading branch information
Leytton authored and Leytton committed Oct 16, 2019
1 parent 323d15c commit 4c38dd1
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 16 deletions.
5 changes: 5 additions & 0 deletions docs/Kaggle/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@
* [**1. 模型是怎样工作的**](learn/intro-to-machine-learning/1.md)
* [**2. 数据探索**](learn/intro-to-machine-learning/2.md)
* [**3. 你的第一个机器学习模型**](learn/intro-to-machine-learning/3.md)
* [**4. 模型验证**](learn/intro-to-machine-learning/4.md)
* [**5. 欠拟合与过拟合**](learn/intro-to-machine-learning/5.md)
* [**6. 随机森林**](learn/intro-to-machine-learning/6.md)
* [**7. 继续你的征程**](learn/intro-to-machine-learning/7.md)

> 补充
Expand Down
10 changes: 5 additions & 5 deletions docs/Kaggle/learn/intro-to-machine-learning/4.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ PS:水平有限,欢迎交流指正([email protected]
你已经建立了一个模型。但是它好不好呢?
在本节课中,你将学习使用模型验证来度量模型的质量。度量模型质量是迭代改进模型的关键。

# 1、什么是模型验证
## 1、什么是模型验证
你将需要评估几乎所有构建的模型。在大多数应用程序中,模型质量的相关度量是预测精度。换言之,模型预测结果是否接近实际发生情况。

`许多人在测量预测精度时犯了一个巨大的错误。他们用训练数据进行预测,并将预测结果与训练数据中的目标值进行比较。`你很快就会发现这个弊端并且学习如何解决它,先让我们想一下该怎么做吧。
Expand Down Expand Up @@ -61,7 +61,7 @@ mean_absolute_error(y, predicted_home_prices)
```
434.71594577146544
```
# 2、“样本内”分数问题
## 2、“样本内”分数问题
刚刚计算的测量值可以称为“样本内”分数。我们使用了单个的房屋“样本”来构建模型并对其进行评估。这就是弊端产生原因。

想象一下,在大型房地产市场中,门的颜色与房价无关。
Expand All @@ -74,7 +74,7 @@ mean_absolute_error(y, predicted_home_prices)
由于模型的实用价值体现在对新数据的预测,所以我们需要使用没有参与模型构建的数据,来度量模型性能。
最直接的方法是从模型构建过程中`排除一些数据`,然后使用这些数据来测试模型的准确性。这些数据称为`验证数据`

# 3、编程实现
## 3、编程实现
`scikit-learn`库有一个函数`train_test_split`,用于将数据分成两部分。我们将使用一部分数据作为训练数据来适应模型,并将使用另一部分数据作为验证数据来计算`mean_absolute_error`

代码如下:
Expand All @@ -99,15 +99,15 @@ print(mean_absolute_error(val_y, val_predictions))
260585.51323434475
```

# 3、哇!
## 3、哇!

样本内数据的平均绝对误差是500美元。样本外价格超过25万美元。

这就是一个几乎完全正确的模型和一个不实用模型之间的区别。实际上,验证数据中的平均房屋价值为110万美元。因此,预测误差约为实际平均房价的四分之一。

有很多方法可以改进这个模型,比如尝试找到更好的特征或使用不同类型的模型。

# 4、去吧,皮卡丘
## 4、去吧,皮卡丘
在我们考虑改进这个模型之前,请自己尝试[模型验证](https://www.kaggle.com/kernels/fork/1259097)

原文:
Expand Down
8 changes: 4 additions & 4 deletions docs/Kaggle/learn/intro-to-machine-learning/5.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ PS:水平有限,欢迎交流指正([email protected]

在这一步的最后,你将了解欠拟合和过拟合的概念,并将能够应用这些概念使你的模型更加准确。

# 1、尝试不同的模型
## 1、尝试不同的模型

现在你已经有了一种可靠的方法来度量模型的准确性,你可以使用其他模型进行试验,看看哪个模型的预测效果最好。那么有哪些模型可选择呢?

Expand All @@ -31,7 +31,7 @@ PS:水平有限,欢迎交流指正([email protected]

![在这里插入图片描述](/img/learn/intro-to-machine-learning/5.2.png)

# 2、案例
## 2、案例
有几种方法可以控制树的深度,树的一些路径可以比其他路径有更大的深度。但是`max_leaf_nodes`参数提供了一种非常合适的方法来控制`过拟合``欠拟合`。我们允许模型生成的叶子越多,在上图中就越接近`过拟合区域`

我们可以使用一个实用函数来比较不同`max_leaf_nodes`值模型的`MAE分数`
Expand Down Expand Up @@ -83,13 +83,13 @@ Max leaf nodes: 5000 Mean Absolute Error: 254983
```
在列出的选项中,500个是最佳的叶子数。

# 3、结论
## 3、结论

结论是,构建模型可能遇到这两种情况:
- `过拟合`: 捕捉那些在未来不会重现的虚假模式,导致预测不那么准确。
- `欠拟合`: 未能捕捉到相关的模式,导致预测不那么准确。

我们使用不参与模型训练的验证数据来度量候选模型的准确性。这让我们可以尝试多种候选模型后,保留最佳模型。

# 4、去吧,皮卡丘
## 4、去吧,皮卡丘
尝试[优化你之前构建的模型](https://www.kaggle.com/kernels/fork/1259126)
8 changes: 4 additions & 4 deletions docs/Kaggle/learn/intro-to-machine-learning/6.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
PS:水平有限,欢迎交流指正([email protected]

# 1、介绍
## 1、介绍
`决策树`给你留下一个难题。一颗较深、叶子多的树将会`过拟合`,因为每一个预测都来自叶子上仅有的几个历史训练数据。一颗较浅、叶子少的树将会`欠拟合`,因为它不能在原始数据中捕捉到那么多的差异。

即使是当今最精良的建模技术,也面临着拟合不足和拟合过度之间问题。但是,许多模型通过一些不错的点子来提升效果。我们将以`随机森林`为例。

`随机森林`使用了许多树,它通过对每棵成分树的预测进行平均来进行预测。它通常比单个决策树具有更好的预测精度,并且使用默认参数效果也不错。如果继续建模,你可以学习更多具有更好性能的模型,但是其中许多模型效果受调参影响特别大。

# 2、案例
## 2、案例
你已经多次看到加载数据的代码。数据加载后,我们将得到以下变量:
- train_X
- val_X
Expand Down Expand Up @@ -60,11 +60,11 @@ print(mean_absolute_error(val_y, melb_preds))
/opt/conda/lib/python3.6/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.
"10 in version 0.20 to 100 in 0.22.", FutureWarning)
```
# 3、结论
## 3、结论
可能还有进一步改进的空间,但是这比最佳决策树250,000的误差有很大的改进。你可以修改一些参数来提升随机森林的性能,就像我们改变单个决策树的最大深度一样。但是,随机森林模型的最佳特性之一是,即使没有这种调优,它们通常也可以正常工作。

你很快就会了解`XGBoost`模型,它在使用正确的参数进行调优时提供了更好的性能(但是需要一些技巧才能获得正确的模型参数)。

# 4、去吧,皮卡丘
## 4、去吧,皮卡丘
尝试自己[使用一个随机森林模型](https://www.kaggle.com/kernels/fork/1259186),看看它对你的模型有多大的改进。

6 changes: 3 additions & 3 deletions docs/Kaggle/learn/intro-to-machine-learning/7.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,19 @@ PS:水平有限,欢迎交流指正([email protected]

《Kaggle教程 机器学习入门》系列课程翻译完毕,撒花 ✿✿ヽ(°▽°)ノ✿

# 1、机器学习竞赛
## 1、机器学习竞赛
进入机器学习竞赛的世界,不断提高,看看你的进步。
[https://www.kaggle.com/kernels/fork/1259198](https://www.kaggle.com/kernels/fork/1259198)

# 2、继续你的征程
## 2、继续你的征程

有很多方法可以改进你的模型,此时,`尝试是一个很好的学习方法`。.

改进模型的最佳方法是添加特征。看看这些数据列表,想想什么可能影响房价。缺失值或非数字数据类型将导致错误。

[《中级机器学习》](https://www.kaggle.com/learn/intermediate-machine-learning)微课程将教你如何处理这些类型的特征。你还将学习使用`xgboost`,这是一种比`Random Forest`更精确的技术。

# 3、其他微课程
## 3、其他微课程

[《Pandas》](https://kaggle.com/Learn/Pandas) 微课程将为你讲解数据操作技巧,使你能够快速地实现从概念到数据科学项目的实现。

Expand Down

0 comments on commit 4c38dd1

Please sign in to comment.