『应用机器学习的建议』的学习笔记

1277 查看

这篇文章是以Bremen大学机器学习课程的教程为基础的。本文总结了使用机器学习解决新问题的一些建议。包括:

  • 可视化数据的方法
  • 选择一个适合当前问题的机器学习方法
  • 鉴别和解决过拟合和欠拟合问题
  •  处理大数据库问题(注意:不是非常小的)
  •  不同损失函数的利弊

本文以Andrew Ng的《应用机器学习的建议 | Advice for applying Machine Learning》为基础。这个笔记的目的是用一个互动的方法解释这些观点。有些建议是可以讨论的。它们仅是建议,不是严格的规则。

In [1]:

In [2]:

In [3] :

数据集

我们使用sklearn的make_classification函数来生成一些简单的玩具数据:

In [4] :

注意到我们为二分类生成了一个数据集,这个数据集包括1000个数据点,每个特征20维。我们已经使用pandas的DataFrame类把数据和类别封装到一个共同的数据结构中。我们来看一看前5个数据点:

In [5]:

Out[5]:

通过直接查看原始特征值,我们很难获得该问题的任何线索,即使在这个低维的例子中。因此,有很多的提供数据的更容易视图的方法;其中的小部分将在接下来的部分中讨论。

可视化

当你接到一个新的问题,第一步几乎都是可视化,也就是说,观察你的数据。

Seaborn是一个不错的统计数据可视化包。我们使用它的一些函数来探索数据。

第一步是使用pairplot生成散点图和直方图。两种颜色对应了两个类别,我们使用了特征的一个子集、仅仅使用前50个数据点来简化问题。

In [6] :