利用SVM对手写字体进行识别并和随机森林对比

本文探讨了使用支持向量机(SVM)对手写字体进行识别的方法,并将其效果与随机森林进行对比。内容源于邹博的机器学习课件,作者在学习过程中进行了部分改编,但仍有疑问待解决,期望通过分享促进后续讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自邹博机器学习课件,自己根据教学内容又做了小部分改变,但是部分问题还是不太清楚,故发表于次以供以后探讨。

'''
利用SVM进行手写字体识别
'''
import pandas as pd
import numpy as np
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
from sklearn.ensemble import RandomForestClassifier
from PIL import Image
import matplotlib.pyplot as plt


if __name__ == '__main__':
    data_train = pd.read_csv('14.optdigits.tra', header=None)
    data_test = pd.read_csv('14.optdigits.tes', header=None)
    x_train = data_train.iloc[:, :-1]
    y_train = data_train.iloc[:, -1]
    x_test = data_test.iloc[:, :-1]
    y_test = data_test.iloc[:, -1]
    
    # 将ndarray转换图片
    x_image = x_train.values.reshape(-1, 8, 8).astype(np.uint8)
    x_label = y_train.values
    
    Image.fromarray(255-x_image[5]*15).save('./test.png')
    '''原始图片*15,不知道干嘛,反正这样做就会让图片变得清晰'''
    # 绘制出前16个图像
    plt.figure(figsize=(12, 12))
    for i in range(16):
        plt.subplot(4, 4, i+1)
        plt.imshow(x_image[i], cmap=plt.cm.gray_r)
        plt.title
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值