我正在用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‘不是一个有效的得分值。使用排序(sklearn.metrics.SCORERS.keys())获得有效选项.
为什么mse不是此回归问题的有效宏?我还能用什么?
发布于 2019-06-10 02:56:01
您应该参考文档
所有scorer对象都遵循这样的惯例:返回值越高,返回值越低,越好。因此,度量模型与数据之间的距离的度量(如
metrics.mean_squared_error)作为neg_mean_squared_error可用,它返回度量的负值。
文档中列出了所有受支持的指标。您也可以使用print(metrics.SCORERS.keys())来获取它们。
所以你需要neg_mean_squared_error而不是mse。
https://stackoverflow.com/questions/56519737
复制相似问题