scikit-learn - 使用 Gridsearch 降低回归得分
问题描述
我是 scikit learn 的新手,所以请原谅我的无知。使用 GridsearchCV 我正在尝试优化 DecisionTreeRegressor。我使参数空间越宽,得分就越差。
将 min_samples_split 设置为 range(2,10) 会给我一个 -0.04 的 neg_mean_squared_error。将其设置为 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)
与不太广泛的网格搜索相比,我希望更广泛的网格搜索获得相等或更高的正分数。
解决方案
你是对的,当你有更多参数时,你应该有一个接近 0 的指标。如果你真的每次都比较同一个模型。您提供的代码中并非如此,因为您尚未random_state
在决策树中设置参数。
做DecisionTreeRegressor(random_state = 42)
(或任何整数),你应该有更明智的结果。
推荐阅读
- php - 如何打印您所在网站的“公共”IP 地址?
- bash - Bash 脚本不提示用户输入
- sql-server - Ruby TinyTds gem 编码错误会阻止所有未来对数据库的访问
- ffmpeg - ffmpeg tee muxer 失败并出现错误:标记 avc1 与输出编解码器 id '28' 不兼容
- xcode - 在执行期间更改值时,选择器不会更新其拥有的段数
- java - 具有相关名称的 ModelMapper 属性字段,在骆驼情况下
- prometheus - 如何按变量对 Grafana 中的 Prometheus 数据点进行分组
- user-interface - 最好的 Gui 编译语言?
- reactjs - React.js 未连接到 EC2 上的 (localhost) Ganache:ERR_CONNECTION_REFUSED 127.0.0.1:8545
- pycharm - 如何在 PyCharm 评论中添加删除线?