调整CatBoost超参数时遇到问题

问题描述

我正在执行kaggle的Bulldozer-blue-book项目。我目前正在使用catboost来查看是否可以改善模型。 我将catboost实例化为这样:

cat_regressor = catboostRegressor()

cat_regressor.fit(Xtrain[:100000],ytrain[:100000])

然后我正尝试使用RandomizedSearchCV调整超参数:

%%time

    from sklearn.model_selection import RandomizedSearchCV
    cat_grid = {
        'iterations': np.arange(10,1000,10),'depth': np.arange(2,16,2),'learning_rate': [0.01,0.05,0.1]
    }
    
    cat_model_rs = RandomizedSearchCV(estimator=cat_regressor,param_distributions=cat_grid,n_iter=250,cv=5,verbose=True)
    
    cat_model_rs.fit(Xtrain[:100000],ytrain[:100000])

现在,到目前为止,计算机要花很长时间才能使这些参数适合搜索(比我调整RandomForestRegressor的时间长得多)。昨天我在使用GPU时遇到了“内核停止”(不记得Jupyter确切地显示错误)。今天,我正在实现@R_502_6273@。搜索仍在全力进行,此时感觉就像模型陷入无限循环一样,我只是在等待内核停止。 我也尝试过使用Google Colab,但是用于查找超参数的单元也在那里用完了。我在这里茫然。

我刚开始使用catboost,有人知道我是否错过了一个参数,或者可能没有为catboost完全实现RandomizedSearchCV吗?

解决方法

弄清为什么这行不通。显然iterations的取值不能超过500,因此将其设置为低就可以解决我的问题。