Scikit learn 回归得分随着Gridsearch而降低

Scikit learn 回归得分随着Gridsearch而降低,scikit-learn,decision-tree,gridsearchcv,Scikit Learn,Decision Tree,Gridsearchcv,我是新手,请原谅我的无知。使用GridsearchCV,我试图优化决策树过滤器。参数空间越宽,评分越差 将min_samples_split设置为范围(2,10)会使负均方误差为-0.04。将其设置为范围(2,5)时,分数为-0.004 simple_tree =GridSearchCV(tree.DecisionTreeRegressor(random_state=42), n_jobs=4, param_grid={'min_samples_split': range(2, 10)}, sc

我是新手,请原谅我的无知。使用GridsearchCV,我试图优化决策树过滤器。参数空间越宽,评分越差

将min_samples_split设置为范围(2,10)会使负均方误差为-0.04。将其设置为范围(2,5)时,分数为-0.004

simple_tree =GridSearchCV(tree.DecisionTreeRegressor(random_state=42), n_jobs=4, param_grid={'min_samples_split': range(2, 10)}, scoring='neg_mean_squared_error', cv=10, refit='neg_mean_squared_error')

simple_tree.fit(x_tr,y_tr).score(x_tr,y_tr)

我希望更广泛的网格搜索与不太广泛的网格搜索的得分相等或更高。

你是对的,当有更多参数时,你应该有一个更接近于0的度量。。如果您每次都在比较相同的模型。您提供的代码不是这种情况,因为您没有在决策树中设置
random\u state
参数


做决策树累加器(随机状态=42)(或任何整数),你应该会得到更合理的结果。

使用简单的树。最好的分数会给出所有CV折叠的平均最好分数。

非常感谢你的评论。我理解修复随机状态将允许代码的再现性。你能解释一下什么时候不使用固定的随机状态吗?不幸的是,这并不能解决它。设置random_state=42时,我得到-0.004 vs-0.04您是否对两次尝试都重新分配X_train?至于您的第一个问题,您需要小心不要过度使用random_state。我建议仅在您希望确保再现性时使用它,如本例中所示。您的意思是通过设置CV=10来重新分配?是的,我是。