📅  最后修改于: 2023-12-03 14:54:03.977000             🧑  作者: Mango
在分类问题中,混淆矩阵(Confusion Matrix)是一种常见的评估模型性能的方法。混淆矩阵展示了模型预测的结果与实际类别之间的关系。在Python中,我们可以使用Scikit-learn库中的confusion_matrix()函数来计算混淆矩阵。
在使用Scikit-learn库中的confusion_matrix()函数之前,我们需要先安装Scikit-learn库。可以使用pip来安装Scikit-learn库:
!pip install -U scikit-learn
假设我们有一个二分类问题,有100个数据样本,我们将其中90个数据样本用于训练模型,剩下10个数据样本用于测试模型。我们可以使用如下的Python代码来计算混淆矩阵:
from sklearn.metrics import confusion_matrix
# 模拟数据
y_test = [0, 1, 1, 0, 1, 0, 0, 1, 0, 1]
y_pred = [0, 1, 1, 0, 1, 1, 0, 0, 0, 0]
# 计算混淆矩阵
confusion_matrix = confusion_matrix(y_test, y_pred)
# 将混淆矩阵转换为DataFrame格式,并添加标签
confusion_matrix_df = pd.DataFrame(confusion_matrix, columns=['预测为0', '预测为1'],
index=['实际为0', '实际为1'])
# 打印混淆矩阵
print(confusion_matrix_df)
输出结果如下:
预测为0 预测为1
实际为0 4 1
实际为1 2 3
在上面的例子中,我们得到了一个2×2的混淆矩阵,其中第一行表示实际类别为0的样本,第二行表示实际类别为1的样本,第一列表示模型预测为0的样本,第二列表示模型预测为1的样本。我们可以从混淆矩阵中得到以下信息:
除了混淆矩阵,我们可以使用Scikit-learn库中的其他函数来评估模型性能,如准确率、召回率、F1值等。