当前位置:   article > 正文

Python:【机器学习】使用sklearn库中的支持向量机,实现手写数字识别,并输出错误图片_sk-learn svm识别的手写数字不准确

sk-learn svm识别的手写数字不准确
代码实现的目标:
  • 输出正确率

  • 如果有图片识别错误,且识别错误的图片多于10张,则绘制10张识别错误的图片以及该图片的真实label和预测label

  • 如果识别错误的图片数量小于等于10张,则绘制所有识别错误的图片以及该图片的真实label和预测label

思路分析:

如果要用svm分析images中的手写数字图片。

  • 首先要把图片转化成svm可以读取的格式,我们先将图片集处理为numpy数组。

  • 我们需要把有限的数据集划分为训练集和测试集

  • 对数据进行基本的转换之后,就可以用svm进行分析以及预测了

  • 我们可以用mean函数对匹配结果的准确率进行估计

  • 之后是输出判别错误的图片,我们可以用plt直接把图片和判断结果输出,非常直观

配套资源:images 免费下载

(imags需要解压到在.py文件的文件夹,文件名改为imagesx)

需求包分析:

numpy数组、os操作目录、PIL读取文件、sklearn.svm、matplotlib.pyplot画图

代码实现:
#endoding:utf-8 Alphy_Hongwu
import numpy as np
import os
from PIL import Image
from sklearn import svm
import matplotlib.pyplot as plt


def data_transformer(path_images:object)->object:
    list_image = os.listdir(path_images)    #利用os对windows的目录进行操作
    data = []
    for nums in list_image:
        path_num = path_images+'\\'+nums    #按照windows的格式遍历下级目录
        images = os.listdir(path_num)
        image_data = []
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/994267
推荐阅读
相关标签
  

闽ICP备14008679号