python-3.x - 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)
解决方案
使用 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_
推荐阅读
- c# - 安装后运行应用程序
- google-sheets - 在 Google 表格中提取“-”字符后的子字符串
- android - 从android应用程序上传服务器上的照片后,它失去了他的质量
- reactjs - 单击提交按钮(reactJs、Formik、Yup)时不会触发表单 Onsubmit()
- javascript - 如何清除多个内容一键式
- css - 这种箭头样式可以通过可变高度来实现吗?
- javascript - 如何使用 bazel/webpack 设置绝对导入?
- java - 在 Java/Kotlin 中跟踪递归方法
- wordpress - 如何在 wordpress 中的短代码之间设置优先级
- python - 一个接收一串数字并返回整数而不使用内置 int() 函数的函数