【问题标题】:Reduce auto-sklearn model size减小 auto-sklearn 模型大小
【发布时间】:2018-02-02 10:55:45
【问题描述】:

我正在使用auto-sklearn 根据一些数据生成回归模型。运行几个小时后,我将生成的模型保存到磁盘以供以后与 joblib 一起使用,生成的文件大小为 2.5 GiB。

如何减小已保存模型的文件大小?我只需要能够对未来的模型进行预测即可。

【问题讨论】:

    标签: python python-3.x machine-learning scikit-learn automl


    【解决方案1】:

    根据您使用的模型类型,很有可能您绝对不能。 如果你有这么大的模型,我猜它是神经网络或随机森林模型。不幸的是,没有简单的方法可以做到这一点,如果这样做,您很可能会降低准确性。

    对于神经网络,没有办法做到这一点,只能降低网络的复杂性。 对于随机森林,您可以查看 Tree Pruning,但我认为您不会获得大量内存。

    如果您的问题是:模型中是否有任何东西只对训练有用,我可以删除 => 可能是一些变量,没有什么大到值得您花时间的(最多几 KB)。

    【讨论】:

    • 这可能是问题所在,因为模型是随机森林。我将尝试限制神经网络和随机森林来强制生成更简单的模型。如果有效,我会将您的答案标记为已接受。
    • 随机森林需要考虑两个因素:减少树的数量和减少每棵树的深度。
    • 我已禁用随机森林和神经网络并再次运行它,新模型的大小为 5.6 GiB。除非我遗漏了什么,否则我认为你的答案是错误的。
    • 你的回答毫无意义。如果随机森林或神经网络,您不能禁用该使用。这并不意味着什么。我想你误解了我的意思
    • 是的,我可以。我使用 AutoSklearnRegressor 的参数exclude_estimators 禁用它们的使用。这样 autosklearn 不能使用它们,只能尝试其余的算法。
    猜你喜欢
    • 1970-01-01
    • 2018-10-16
    • 2021-09-07
    • 2017-12-22
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    相关资源
    最近更新 更多