我正在使用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']


当我运行代码时,它将引发错误:

ValueError:'mse_macro'不是有效的评分值。使用sorted(sklearn.metrics.SCORERS.keys())获得有效选项。

为什么MSE对这个回归问题不是有效的宏?我还能使用什么?

最佳答案

您应该参考documentation


  所有计分器对象均遵循以下约定:较高的返回值
  优于较低的返回值。因此,衡量
  模型与数据之间的距离,例如
  metrics.mean_squared_error,可以作为
  neg_mean_squared_error,它返回指标的取反值。


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

因此,您需要neg_mean_squared_error而不是mse

关于python - DecisionTreeRegressor参数调整的分数引发错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56519737/

10-11 14:01