You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:基于Seaborn绘制混淆矩阵及图像预测代码开发

解决方案

一、基于Seaborn绘制混淆矩阵的代码

先导入所需依赖库,再在原有训练预测代码基础上添加可视化逻辑:

# 导入必要库
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report

# 原有训练与预测流程
model_SVC = SVC(C=1000,gamma=0.1, kernel='rbf')
model_SVC.fit(X_train,Y_train) #CASIA2

predictions=model_SVC.predict(X_test)

# 输出基础评估指标
print(accuracy_score(Y_test,predictions))
print(confusion_matrix(Y_test,predictions))
print(classification_report(Y_test,predictions))

# 绘制混淆矩阵
cm = confusion_matrix(Y_test, predictions)
plt.figure(figsize=(8, 6))
# 生成带数值标注的热力图
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', 
            xticklabels=['真实类别A', '真实类别B'], # 替换为你的实际类别名称
            yticklabels=['预测类别A', '预测类别B'])
plt.xlabel('真实标签')
plt.ylabel('预测标签')
plt.title('SVC模型混淆矩阵')
plt.show()

关键参数说明:

  • annot=True:在热力图单元格内显示具体计数数值
  • fmt='d':以十进制整数格式显示数值(混淆矩阵为计数型数据)
  • xticklabels/yticklabels:需替换为数据集实际类别名称,比如「真实图像」「伪造图像」

二、单张图像预测代码

图像预测需严格遵循训练集的预处理流程,确保特征维度与训练数据一致:

import cv2 # 也可替换为PIL/Pillow库处理图像

def predict_single_image(image_path, model):
    # 1. 读取图像(示例为灰度模式,需与训练集读取方式一致)
    img = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
    # 2. 调整尺寸至训练集图像统一大小(示例为64x64,按需修改)
    img_resized = cv2.resize(img, (64, 64))
    # 3. 展平为一维特征(匹配X_train的特征维度)
    img_flatten = img_resized.flatten().reshape(1, -1)
    # 4. 标准化/归一化(若训练时做了该操作,必须同步执行)
    # 示例:若训练用了StandardScaler,需加载对应scaler处理
    # img_scaled = scaler.transform(img_flatten)
    # 5. 执行预测
    pred = model.predict(img_flatten)
    # 6. 转换为可读标签(按需修改类别映射)
    return '伪造图像' if pred[0] == 1 else '真实图像'

# 调用示例
pred_result = predict_single_image('test_sample.jpg', model_SVC)
print(f'图像预测结果:{pred_result}')

注意事项:

  • 预处理步骤必须与训练集完全对齐,否则会导致预测结果失效
  • 若训练时使用了特征缩放工具(如StandardScaler),需在预测时复用相同的缩放逻辑

内容的提问来源于stack exchange,提问作者Harikrishnan A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:24:25