📅  最后修改于: 2023-12-03 15:40:39.894000             🧑  作者: Mango
在机器学习中,评估模型的性能是非常重要的。其中一种评价指标是准确性。
准确性是指分类器正确分类的样本数占总样本数的比例。准确性值越高,表示模型效果越好。
在 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 函数。