详解 Scikit-learn 的 metrics.accuracy_score函数:计算分类器准确率

  • Post category:Python

sklearn.metrics.accuracy_score 函数用于计算分类问题中的准确率。具体来说,它将预测值与真实值进行比较,并返回分类准确率。

使用方法:

from sklearn.metrics import accuracy_score

accuracy = accuracy_score(y_true, y_pred)

其中 y_true 是真实标签,y_pred 是预测值。这两者应当具有相同的形状。函数将计算这两个数组之间的准确率。如果 normalize 参数设置为 True(默认为 True),则函数将返回准确率的百分比得分,否则将返回准确预测的样本数。

以下是两个使用实例:

实例一

from sklearn.metrics import accuracy_score

y_true = [1, 2, 3, 4, 5]
y_pred = [1, 2, 3, 4, 0]

accuracy = accuracy_score(y_true, y_pred)
print("准确率为:", accuracy)

预测结果: 准确率为: 0.8

在这个例子中,y_true 是 [1, 2, 3, 4, 5] ,y_pred 是 [1, 2, 3, 4, 0] 。函数将计算这两个数组之间的准确率。这里的预测值数组 y_pred 包含一个错误的预测,所以准确率为 0.8。

实例二

from sklearn.metrics import accuracy_score
import pandas as pd

# load data
data = pd.read_csv("data.csv")

# split into features and targets
X = data.drop(['target'], axis=1)
y_true = data['target']

# train model and make predictions
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

accuracy = accuracy_score(y_true, y_pred)
print("准确率为:", accuracy)

预测结果:准确率为: 0.96

在这个例子中,我们首先从 csv 文件中读取数据,然后将输入特征和目标标签分开。我们使用模型对输入特征进行训练,并使用测试集进行预测。然后,我们将预测值(y_pred)与真实标签(y_true)进行比较,得到我们的准确率分数。这个例子中,通过分析数据,我们发现具有比其他特征更高的相对重要性。然后,我们选择将其包含在我们的特征中,并使用sklearn中的 accuracy_score 函数对所得到的准确性进行评估。