作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当面对大型数据集时,我需要花一天时间使用 GridSearchCV()
来训练具有最佳参数的 SVM。如何保存最佳估计器,以便下次启动计算机时可以直接使用这个经过训练的估计器?
最佳答案
默认情况下,GridSearchCV 不会公开或存储最佳模型实例,它只会返回导致最高分的参数集。如果您想要最好的预测器,则必须指定 refit=True
,或者如果您使用多个指标 refit=name-of-your-decider-metric
。这将使用完整数据集 和找到的最佳参数运行最后的训练步骤。为了找到最佳参数,GridSearchCv 显然不会使用整个数据集进行训练,因为它们必须拆分出 hold-out 验证集。
现在,当您这样做时,您可以通过 best_estimator_
属性获取模型。有了这个,您可以使用 joblib 选择该模型并在第二天重新加载它以进行预测。在伪代码和真实代码的混合中,读起来像
from joblib import dump, load
svc = svm.SVC() # Probably not what you are using, but just as an example
gcv = GridSearchCv(svc, parameters, refit=True)
gvc.fit(X, y)
estimator = gcv.best_estimator_
dump(estimator, "your-model.joblib")
# Somewhere else
estimator = load("your-model.joblib")
关于python - 如何在 GridSearchCV 中保存最佳估计器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71140633/
我是一名优秀的程序员,十分优秀!