小编dum*_*yds的帖子

如何获得 pandas 数据框中 CatBoost 的特征重要性?

所以我使用 Python 运行 Catboost 模型,这非常简单,基本上是:

from catboost import CatBoostClassifier, Pool, cv
catboost_model = CatBoostClassifier(
    cat_features=["categorical_variable_1", "categorical_variable_2"],
    loss_function="Logloss",
    eval_metric="AUC",
    iterations=200,
)
Run Code Online (Sandbox Code Playgroud)

所以我想了解特征的重要性。使用 XGBoost Classifier,我可以准备一个具有特征重要性的数据帧,执行以下操作:

importances = xgb_model.get_fscore()

feat_list = []
date = datetime.today()
for feature, importance in importances.items():
    dummy_list.append([date, feature, importance])

feat_df = pd.DataFrame(feat_list, columns=['date', 'feature', 'importance'])
Run Code Online (Sandbox Code Playgroud)

现在,我想使用 CatBoost 功能做同样的事情。我开始做:

catboost_model.get_feature_importance(
Pool(X_train, y_train, cat_features=["categorical_variable_1", "categorical_variable_2"]))
Run Code Online (Sandbox Code Playgroud)

但我不知道如何继续前进(这应该很简单,但我迷路了)。有人可以帮我吗?

python pandas xgboost catboost

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

catboost ×1

pandas ×1

python ×1

xgboost ×1