Gridsearch降低了回归得分

时间:2019-03-30 16:16:22

标签: scikit-learn decision-tree gridsearchcv

我是scikit学习的新手,请原谅我的无知。使用GridsearchCV,我正在尝试优化DecisionTreeRegressor。我设置的参数空间越广,得分就越差。

将min_samples_split设置为range(2,10)会使我的neg_mean_squared_error为-0.04。设置为range(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)

与不那么广泛的网格搜索相比,我期望更广泛的网格搜索具有相同或更高的分数。

2 个答案:

答案 0 :(得分:2)

您是对的,当有更多参数时,应该有一个接近0的指标。如果您确实每次都在比较 相同 模型。在您提供的代码中情况并非如此,因为您尚未在决策树中设置random_state参数。

执行DecisionTreeRegressor(random_state = 42)(或任何整数),您应该得到更明智的结果。

答案 1 :(得分:0)

使用simple_tree.best_score_可以得出所有CV折叠的平均最佳分数。