gridSearch绩效评估效果

时间:2019-03-14 18:54:11

标签: python regression hyperparameters

我有一个作业,它要求我:

  

通过上一步改善模型的性能   超参数调整并使用网格选择最终的最优模型   根据您选择的一个或多个指标进行搜索。选择一个   给定任务的最佳模型(在一个任务上比较多个回归变量   特定领域)要求选择绩效指标,例如,   R2(确定系数)和/或RMSE(均方根)   错误)以比较模型性能。

我将以下代码用于超参数调整:

CleanAPT <- subset(long, TotalPass == 3)

CheckUnsystematic(dat = CleanAPT, deltaq = 0.025, bounce = 0.1, reversals = 0, ncons0 = 2) 

我发现学习率= 0.1和max_dept = 5 我选择了model_example = GradientBoostingRegressor() parameters = {'learning_rate': [0.1, 1], 'max_depth': [5,10]} model_best = GridSearchCV(model_example, param_grid=parameters, cv=2,scoring='r2').fit(X_train_new,y_train_new) model_best.best_estimator_ 作为性能指标,但是当我使用以下代码来提供最佳模型时,它对我的​​模型准确性没有任何影响:

scoring='r3'

你知道我的工作出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

尝试将random_state设置为GradientBoostingRegressor()的参数。例如,GradientBoostingRegressor(random_state=1)

该模型将在相同数据上产生相同结果。如果没有该参数,则将存在随机性,这使得比较不同的模型拟合变得困难。

在train-test-split上设置一个随机状态也将对此有所帮助。