Selecting good features – Part III: random forests
在我以前的文章中,我研究了单变量的特征选择和线性模型,以及用于特征选择的正则化。
在这篇文章中,我将讨论随机森林,另一种流行的特征排名方法。
随机森林特征重要性
随机森林由于其相对良好的准确性、鲁棒性和易用性而成为最流行的机器学习方法之一。它们还提供了两种简单的特征选择方法:平均减少杂质(mean decrease impurity)和平均减少精度(mean decrease accuracy)。
平均减少杂质
随机森林由许多决策树组成。决策树中的每个节点都是单个特性的一个条件,用于将数据集分成两个,以便类似的响应值最终出现在相同的集合中。选择局部最优条件的度量称为杂质。对于分类,它通常是基尼杂质或信息增益/熵,对于回归树是方差。因此,当训练树时,可以计算每个特征减少树中加权杂质的程度。对于森林,每个特征中的杂质减少量可以被平均,并且根据这个度量对特征进行排序。
这是sklearning的随机森林实现(随机森林分类器和随机森林回归器)中公开的特征重要性度量。
from sklearn.datasets import load_boston
from sklearn.ensemble import RandomForestRegressor
import numpy as np
#Load boston housing dataset