我正在使用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不是有效的宏?我还能使用什么?
答案 0 :(得分:0)
您应该参考documentation:
所有计分器对象均遵循以下约定:较高的返回值 优于较低的返回值。因此,衡量 模型与数据之间的距离,例如
metrics.mean_squared_error
,可以作为neg_mean_squared_error
会返回指标的取反值。
文档中列出了所有受支持的指标。您也可以使用print(metrics.SCORERS.keys())
来获取它们。
因此您需要neg_mean_squared_error
而不是mse
。