在上一篇文章中,笔者介绍了常见集成模型的主要思想,并且还提到随机森林是使用最为广泛的集成模型之一。因此在本篇文章中,笔者将会再次就随机森林的其它应用以及其在sklearn中的具体用法进行介绍。 1 API介绍在上一篇文章中,我们介绍了随机森林的基本原理,但并没有对其的具体用法做出详细的示例。接下来,我们就对其在sklearn[1]中的具体用法进行介绍。 打开sklearn中关于随机森林的定义可以发现: A random forest classifier. 随机森林是一个元估计器,它是由一系列的决策树分类器所构成;并且每个决策树都是通过原始训练集中的部分数据样本训练得来,最后通过’平均‘的方式来提升分类准确率和控制过拟合现象。
以上代码为sklearn中对于随机森林分类器中常用的参数,其中相关含义如下:
2 特征评估我们知道在决策树的构建过程中,采用不同的特征来对数据进行划分能够得到不同的决策树。并且,不同的决策树生成算法都是优先考虑能够使得划分后数据集纯度更高的特征作为划分标准,所以通过生成后的决策树我们就能够间接性的获得数据集中特征的重要性程度。因此,在sklearn实现的随机森林(决策树)中也直接提供了这一方法来获取特征的重要性排序。
如上代码所示,我们可以通过调用
从分类结果来看,两者没有任何差别。因此,当遇到包含有较多特征的数据集时,可以通过随机森林来进行特征的筛选。 3 总结在这篇文章中,笔者首先介绍了sklearn中随机森林的API接口,对里面常用的一些参数含义进行了说明;然后介绍了如何通过sklearn中实现的方法来进行数据集特征维度重要性的评估,并通过示例展示了起具体的用法。本次内容就到此结束,感谢阅读! 若有任何疑问与见解,请发邮件至并附上文章链接,青山不改,绿水长流,月来客栈见! 引用[1]RandomForestClassifier https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier [2]示例代码 : https://github.com/moon-hotel/MachineLearningWithMe |