首页 > 解决方案 > RandomizedSearchCV 能否根据最佳模型输出特征重要性?

问题描述

使用 RandomizedSearchCV 找到最佳超参数后,有没有办法找到以下输出?1. 将最佳模型保存为对象 2. 输出特征重要性

gbm = GradientBoostingClassifier()
rand = RandomizedSearchCV(gbm, param_distributions=param_dist, cv=10, 
scoring='roc_auc', n_iter=10, random_state=5)
rand.fit(X_train, y_train_num)

标签: python-3.x

解决方案


使用 best_params_ 参数并将其保存到字典中。从字典中重新训练模型并通过键调用值。

top_params = rand.best_params_
gbm_model = GradientBoostingClassifier(learning_rate=top_params['learning_rate'], max_depth=top_params["max_depth"], ...)
gbm_model.fit(X_train, y_train_num)
gbm_model.feature_importances_

推荐阅读