每个模态的特征重要性

时间:2016-06-24 13:33:18

标签: python scikit-learn random-forest

我在Python中使用sklearn做一个随机的森林 我试着获得一个属性的每个模态的分数 例如,在泰坦尼克号数据集中,我们如何得到Pclass变量的每种模态的得分?
感谢

1 个答案:

答案 0 :(得分:0)

Pclass变量是分类变量。这意味着它需要2个或更多离散值。对于此类变量,始终建议使用One-Hot编码表示它们。例如,如果您的PClass变量有3个可能的值, lower middle upper ,那么目前您将它们编码为0,1或2.这种方法的问题在于,在某些分类器中,这种方法将引入 upper >的自然排序。 。因此,最常用的策略是将它们编码为3个布尔特征。因此,现在您将拥有3个功能,而不是1个功能。 Lower 将表示为[1 0 0], middle 表示为[0 1 0], upper 表示为[0 0 1]。

由于您正在使用scikit-learn,这可以由OneHotEncoder类完成。 scikit-learn文档中的示例有一个说明性示例。

现在,当您将这些功能作为功能传递给随机林并进行训练时。您可以使用clf.feature_importances_轻松获取功能重要性。从现在开始,您为每种模态使用一个特征,您可以轻松获得每种特征模态的重要性。

希望有所帮助。