TowardsDataScience作者:Alexander Cheng,现在小编就来说说关于随机森林算法是干什么的?下面内容希望能帮助到你,我们来一起看看吧!

随机森林算法是干什么的(机器学习第一步)

随机森林算法是干什么的

TowardsDataScience

作者:Alexander Cheng

机器之心编译

参与:高璇、思

到了 2020 年,我们已经能找到很多好玩的机器学习教程。本文则从最流行的随机森林出发,手把手教你构建一个模型,它的完整流程到底是什么样的。

作为数据科学家,我们可以通过很多方法来创建分类模型。最受欢迎的方法之一是随机森林。我们可以在随机森林上调整超参数来优化模型的性能。

在用模型拟合之前,尝试主成分分析(PCA)也是常见的做法。但是,为什么还要增加这一步呢?难道随机森林的目的不是帮助我们更轻松地理解特征重要性吗?

当我们分析随机森林模型的「特征重要性」时,PCA 会使每个「特征」的解释变得更加困难。但是 PCA 会进行降维操作,这可以减少随机森林要处理的特征数量,因此 PCA 可能有助于加快随机森林模型的训练速度。

请注意,计算成本高是随机森林的最大缺点之一(运行模型可能需要很长时间)。尤其是当你使用数百甚至上千个预测特征时,PCA 就变得非常重要。因此,如果只想简单地拥有最佳性能的模型,并且可以牺牲解释特征的重要性,那么 PCA 可能会很有用。

现在让我们举个例子。我们将使用 Scikit-learn 的「乳腺癌」数据集,并创建 3 个模型,比较它们的性能:

1. 随机森林

2. 具有 PCA 降维的随机森林

3. 具有 PCA 降维和超参数调整的随机森林

导入数据

首先,我们加载数据并创建一个 DataFrame。这是 Scikit-learn 预先清理的「toy」数据集,因此我们可以继续快速建模。但是,作为最佳实践,我们应该执行以下操作: