sklearn.metric.accuracy_score评价指标介绍和使用

384 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第32天,点击查看活动详情

各类竞赛中,最常见的一个准确度指标就是 sklearn.metrics.accuracy_score 。该指标浅显易懂,下面作简要介绍

1.示例


#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:livingbody
@file:accuracy_score.py
@time:2022/08/29
"""

from sklearn.metrics import accuracy_score

if __name__ == '__main__':
    y_pred = [0, 2, 1, 3, 4]
    y_true = [0, 1, 2, 3, 4]
    acc = accuracy_score(y_true, y_pred)
    print(f"acc: {acc}")

acc: 0.6

如上所示,5个值得情况下,错2个,准确率60%,浅显易懂。

2.api介绍

sklearn.metrics.accuracy_score(y_true, y_pred, *, normalize=True, sample_weight=None)

  • 可用来计算分类准确率分数。
  • 可用来计算多分类准确率分数。
"""Accuracy classification score.

In multilabel classification, this function computes subset accuracy:
the set of labels predicted for a sample must *exactly* match the
corresponding set of labels in y_true.

Read more in the :ref:`User Guide <accuracy_score>`.

Parameters
----------
y_true : 1d array-like, or label indicator array / sparse matrix
    Ground truth (correct) labels.

y_pred : 1d array-like, or label indicator array / sparse matrix
    Predicted labels, as returned by a classifier.

normalize : bool, default=True
    If ``False``, return the number of correctly classified samples.
    Otherwise, return the fraction of correctly classified samples.

sample_weight : array-like of shape (n_samples,), default=None
    Sample weights.

Returns
-------
score : float
    If ``normalize == True``, return the fraction of correctly
    classified samples (float), else returns the number of correctly
    classified samples (int).

    The best performance is 1 with ``normalize == True`` and the number
    of samples with ``normalize == False``.

3.多分类准确率分数计算


import numpy as np
accuracy_score(np.array([[0, 1], [1, 1]]), np.ones((2, 2)))

0.5