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

在调整超参数之前如何选择最佳分类器?

如何解决在调整超参数之前如何选择最佳分类器?

我正在为多类分类问题训练一个机器学习模型。我训练了几个分类器(如 xgboost、梯度提升、rf、额外树等),每个分类器都使用 gridsearchcv 调整超参数。

虽然可能是多类的,但训练每个模型的时间需要几个小时。

谁能帮我制定一个好的策略,在调整超参数之前选择最佳分类器?

我想简单地训练每个分类器而不调整超参数,看看哪个表现更好,然后选择表现更好的一个加入超参数。这是个好主意吗?

这是我用来训练和调整所选模型的代码(在本例中,我使用了 xgboost,但我对提到的所有其他模型都这样做了,这花了很长时间)。

# Maximum number of levels in tree
max_depth = [int(x) for x in np.linspace(10,100,num = 4)]
max_depth.append(None)

param_grid = [
    {
        'reduce_dim__n_components': [0.7,0.9,0.1],'classify__learning_rate': [0.0001,0.001,0.01,'classify__n_estimators': [int(x) for x in np.linspace(start = 100,stop = 1000,num = 4)],'classify__max_depth': max_depth
    }
]

grid_search = gridsearchcv(
    Pipeline([
        ('reduce_dim',PCA(svd_solver='full')),('classify',xgb.XGBClassifier(objective='multi:softmax',n_jobs=-1))
    ]),param_grid,cv=5,scoring='accuracy',verbose=1,return_train_score=True,n_jobs=-1)
grid_search = grid_search.fit(train_prepared,y_train)

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