XGB 回归器特征选择

时间:2021-03-16 12:32:48

标签: python

样本数据集

Feature1   Feature2  Feature3  Target
10            21        23     25
20            23        24     23
30            23        25     45

以下代码用于在回归问题上拟合 XG boost 并获得重要特征。特征选择方法是使用F分数来给出重要性。

clf = xgb.XGBRegressor(n_estimators=100, gamma=1)
clf.fit(X_train, y_train)

sorted_idx = clf.feature_importances_.argsort()
plt.barh(X_train.columns[sorted_idx], clf.feature_importances_[sorted_idx])
plt.xlabel("Xgboost Feature Importance")
plt.show()

但是,可以使用精度和召回率来计算分类问题的 F 分数。

但是在回归问题中,我预测的是一个变量,那么特征重要性是如何计算的?

1 个答案:

答案 0 :(得分:0)

Xgboost 中的重要性有几种类型。如果您使用类似 scikit-learn 的 API 构建模型,则默认类型是增益。当您访问 Booster 对象并使用 get_score 方法获取重要性时,默认为权重。您可以使用 xgb.importance_type 检查重要性的类型。 增益类型显示使用特征的所有分割的平均增益。 权重显示了使用该特征拆分数据的次数。这种类型的特征重要性可以有利于数字和高基数特征。还要记住,还有 cover, total_gain, total_cover types 的特征重要性。