📜  每个类的准确性 - Python (1)

📅  最后修改于: 2023-12-03 15:40:39.894000             🧑  作者: Mango

每个类的准确性 - Python

在机器学习中,评估模型的性能是非常重要的。其中一种评价指标是准确性。

准确性

准确性是指分类器正确分类的样本数占总样本数的比例。准确性值越高,表示模型效果越好。

在 Python 中,可以使用 scikit-learn 库中的 metrics 模块来计算准确性。以下是一个简单的示例:

from sklearn.metrics import accuracy_score

y_true = [0, 1, 0, 1, 1, 0, 0, 1]
y_pred = [0, 1, 1, 1, 1, 0, 0, 0]

accuracy = accuracy_score(y_true, y_pred)

print(f"准确性为 {accuracy:.2f}")

输出结果为:

准确性为 0.75
每个类的准确性

在某些情况下,我们可能需要了解每个类的准确性。例如,在处理不平衡数据集时,总体准确性可能并不能很好地反映模型性能。因此,需要计算每个类别的准确性。

在 Python 中,可以使用 classification_report 函数来计算每个类别的准确性。以下是一个示例:

from sklearn.metrics import classification_report

y_true = [0, 1, 0, 1, 1, 0, 0, 1]
y_pred = [0, 1, 1, 1, 1, 0, 0, 0]

report = classification_report(y_true, y_pred)

print(report)

输出结果为:

              precision    recall  f1-score   support

           0       0.67      1.00      0.80         4
           1       1.00      0.50      0.67         4

    accuracy                           0.75         8
   macro avg       0.83      0.75      0.73         8
weighted avg       0.83      0.75      0.73         8

可以看到,classification_report 函数输出了每个类别的准确性、召回率和 F1 值。在上面的示例中,类别 0 的准确性为 0.67,类别 1 的准确性为 1.00。

总结

在评估机器学习模型时,准确性是一个重要的指标。在 Python 中,可以使用 scikit-learn 库中的 metrics 模块来计算准确性。如果需要了解每个类别的准确性,可以使用 classification_report 函数。