Watson Studio中sklearn估计器打印无法显示全部默认参数原因咨询
问题原因:scikit-learn版本差异
这个现象是scikit-learn版本迭代带来的官方调整,和代码、运行环境的功能异常无关:
- scikit-learn在0.23版本更新时,修改了所有评估器类的
__repr__(字符串表示)逻辑,默认仅展示取值和默认参数不同的配置项,隐藏所有使用默认值的参数,目的是简化输出、减少冗余信息。你之前使用的Skills Network Labs环境搭载的是0.23之前的旧版本scikit-learn,所以会打印全量参数;而Watson Studio中安装的是0.23及以上的新版本,所以仅显示你自定义过的criterion和max_depth两个参数。 - 你提到的
train_test_split、K近邻等功能看起来“正常”是误判:train_test_split是工具函数,返回的是数据集切片而非评估器实例,不会触发该显示逻辑;如果你初始化K近邻评估器时仅修改部分参数,新版本下同样只会显示非默认参数,不存在功能异常。
查看全量参数的解决方案
如果需要查看评估器的所有参数配置,有两种可选方案:
- 调用评估器实例的
get_params()方法,会返回包含所有参数的字典:
print(Tree_Loan.get_params())
- 全局修改scikit-learn的打印配置,永久恢复旧版本的全量参数显示逻辑:
import sklearn sklearn.set_config(print_changed_only=False)
设置完成后再打印评估器实例,就会输出所有参数信息。
内容的提问来源于stack exchange,提问作者J. Alexander
相关产品推荐
相关产品推荐

