我正在尝试评估模型的性能,而我似乎无法掌握实际返回的分数。文档说:
Returns the mean accuracy on the given test data and labels.
In multi-label classification, this is the subset accuracy which is a harsh
metric since you require for each sample that each label set be correctly predicted.
这不直观 - 这里的准确性是什么?我希望看到均方误差值来检查模型。因此,如果我的模型的MSE为30%,这是否意味着它的得分"是70%?如果我运行一个模型,通过交叉验证选择参数,并将评分函数设置为mean_squared_error
,这将得分"得分"是基于那个来计算的?
我似乎无法找到相关的任何文档 - 我真的很感激帮助。
谢谢!
答案 0 :(得分:0)
accuracy是正确分类的示例的百分比。
>>> from sklearn.metrics import accuracy_score
>>> y_pred = [0, 2, 1, 3]
>>> y_true = [0, 1, 2, 3]
>>> accuracy_score(y_true, y_pred)
0.5
这里有2个例子,其中4个分类正确,因此准确度为2/4 = 0.5
如果您使用 mean_squared_error ,那么您的问题就是回归问题。在 GridSearch 中使用此指标会找到最低的错误。
诀窍是,在进行gridsearch交叉验证时,目标是最大化分数函数。但是最大化错误将是一个坏主意,因此为了与sklearn API保持一致,它们会将您的错误与分数相反。通过这样做,您可以通过最小化错误来最大化您的分数。
因此,如果您想显示错误,请确保获取分数的绝对值
>>> abs(grid_search.best_score_)
3.2