我想使用SKlearn随机森林特征选择函数来了解影响我的自变量(TN污染物浓度)的关键因素。 我有一个分类变量-气候类型,有五种气候类型(温度炎热、温度干燥、温度温暖、热带和干旱),我知道气候类型对我的自变量有很大的影响,但是,当我使用一种炎热的编码方法(通过熊猫假人)时,我发现了这些气候类型(在一次热编码后变成五个假/真的变量)是最不重要的,这是不正确的
我的问题是,在处理分类变量时,随机林的特征选择是否仍然有用?我是否做了一些错误的事情
这是我代码的一部分:
model = RandomForestRegressor(n_estimators=100, bootstrap = True,max_features = 'sqrt')
model.fit(x_train, y_train)
fi = pd.DataFrame({'feature': list(x_train),'importance':
model.feature_importances_}).sort_values('importance', ascending = False)
plt.bar(fi['feature'],fi['importance'])
这完全取决于如何计算特征重要性。如果特征的特征重要性是其拆分节点次数的函数,则很难比较数值和类别值,因为数值特征可以(通常是)在树中拆分多次,其中类别只拆分一次
我不完全确定,但我认为sklearn中的功能重要性是功能拆分量的函数,因此mis的重要性
相关问题 更多 >
编程相关推荐