惠州网站建设哪家强,学院网站建设项目,企业网站内页,平面设计h5指的是什么本文作者#xff1a;杨健#xff0c;九章云极 DataCanvas 主任架构师
很多机器学习框架如都提供了Early Stopping策略#xff0c;主要用来防止模型过拟合。和模型训练提前停止的目标不同#xff0c;AutoML的Early Stopping策略更多考虑的是算力消耗和模型质量的平衡。
通…本文作者杨健九章云极 DataCanvas 主任架构师
很多机器学习框架如都提供了Early Stopping策略主要用来防止模型过拟合。和模型训练提前停止的目标不同AutoML的Early Stopping策略更多考虑的是算力消耗和模型质量的平衡。
通常超参数优化的搜索空间在上万种排列组合的量级但全Pipeline AutoML的搜索空间要大得多有时候会有几十亿种甚至更多的组合。在如此庞大的搜索空间中如果要找到绝对的全局最优解即使有非常高效的搜索算法也需要尝试数千甚至数万次搜索这有可能需要无法承受的的算力成本因此选择一个合适的提前停止策略对AutoML来说是一个必备特性。
AutoML的提前停止通常考虑3种方式
1、限定搜索时间在指定的时间内搜索到的最优模型做为最终方案。这种策略的时间和算力资源成本最为可控。
2、指定评估指标的目标值比如AUC超过0.95就可以中止搜索过程或者rmse小于0.02。这种策略的前提是业务上有明确的模型评估结果的合格标准。
3、在搜索过程中如果当前最高的评估在接下来的n次尝试都不能进一步提升就中止搜索。当搜索算法的勘探和开采平衡策略比较合理时这种策略往往可以得到非常好的模型在时间消耗和模型质量的平衡方面也比较合理。
在HyperGBM中以上三种方式都可以支持并且可以组合使用例如同时限定搜索时间、期望评估指标和n步提升条件任何一个条件满足即中止搜索。示例代码如下
使用make_experiment的代码
from tabular_toolbox.datasets import dsutils
from sklearn.model_selection import train_test_split
from hypergbm.search_space import search_space_general
from hypergbm import make_experiment
# load data into Pandas DataFrame
df dsutils.load_bank()
target y
train, test train_test_split(df, test_size0.3)
test.pop(target)
#create an experiment
experiment make_experiment(train, targettarget, max_trails100, reward_metricaccuracy,optimize_directionmax, early_stopping_rounds10, # 0 or None to disable itearly_stopping_time_limit3600, #3600 seconds, 0 or None to disable itearly_stopping_reward0.90 #0 or None to disable it)
#run experiment
estimator experiment.run()
# predict on test data without target values
pred estimator.predict(test)更多HyperGBM相关内容请参考https://github.com/DataCanvasIO/HyperGBM