微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pycaret.regression.compare_models:评估表既不返回也不显示

如何解决Pycaret.regression.compare_models:评估表既不返回也不显示

pycaret 是一个非常紧凑的工具,用于比较我想用于模型选择的模型。不幸的是,compare_models 方法并未显示您随处可见的典型 output table。我在 PyCharm 中使用 pycaret 而不是 Jupyter Notebook,这似乎是典型的方法。我确实得到了最好的模型作为返回值,但我真正的目标是概览表。参数 silent 是否设置为 TrueFalse appart 似乎也没有区别被要求确认派生的数据类型是否正确。

非常感谢!

系统: 蟒蛇 3.6 pycaret 2.3 CentOS 7 PyCharm 2020.1 社区版

我的代码

    regression.setup(data=ml_df,target='occupation',n_jobs=6,categorical_features=['cluster','vacation','long_weekend','month','hour','weekday'],numeric_features=['temperature','precipitation'],silent=False
                     )
    best_regression_models = regression.compare_models()

    categorisation = [
        [-0.1,'empty'],[0.01,'partial'],[0.99,'full']
    ]
    ml_df['occupation'] = modelling_utils.convert_number_to_categorical(ml_df['occupation'],categorisation)
    classification.setup(data=ml_df,fix_imbalance=True,silent=False)
    best_classification_models = classification.compare_models()

完整的输出有点冗长并且保存了here

编辑:代码在 Jupyter Notebook 中按预期工作

解决方法

与从 Jupyter notebook 运行相比,从终端/命令行运行 PyCaret 具有不同的行为。在您的情况下,如果您想显示比较输出表,请在 compare_models() 函数调用后添加这两行:

..
best_regression_models = regression.compare_models()


regression_results = pull()
print(regression_results)

pull() 函数还将返回带有其他训练函数的最后一个分数网格,例如 create_model()。目前此功能仅适用于回归和分类模块。

参考:https://pycaret.org/pull/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。