决策树回归器参数调整的分数会抛出错误



我正在使用DecisionTreeRegressor调整模型。

tuned_parameters = [{'splitter': ['best'],   'max_leaf_nodes': [2, 3,4,5]},
                    {'splitter': ['random'], 'max_leaf_nodes': [2, 3,4,5]}]

#for Regression
scores = ['mse']

当我运行代码时,它抛出一个错误:

值错误:"mse_macro"不是有效的评分值。使用 sorted(sklearn.metrics.SCORERS.keys((( 获取有效选项。

为什么 mse 不是此回归问题的有效宏?我还可以使用什么?

您应该参考文档:

所有评分器对象都遵循较高的返回值的约定 优于较低的返回值。因此,衡量 模型和数据之间的距离,例如 metrics.mean_squared_error ,可用作 返回指标的否定值neg_mean_squared_error

文档中列出了所有支持的指标。您也可以使用print(metrics.SCORERS.keys())来获取它们。

所以你需要neg_mean_squared_error而不是mse.

相关内容

最新更新