奋进小牛 2022-11-11 15:16 采纳率: 93.5%
浏览 87
已结题

使用SVM对手写体数字图片分类,python报错

使用SVM对手写体数字图片分类

import pandas as pd
from sklearn import svm
import joblib
print("1.载入训练数据,对训练数据进行标准化")
train_data = pd.read_csv ('digits_training.csv')
# print(data)
# 分类属性
yTrain = train_data.values[:,0]
# 特征属性
xTrain = train_data.values[:,1:]

# 标准化函数
def normalization(X):
    return (X-X.mean())/X.max()
# print("xTrain:{0}".format(xTrain.shape))
# 对特征属性进行标准化处理
xTrain = normalization(xTrain)
# print(xTrain.shape[1])
# print(xTrain.shape)
print("训练数据:",xTrain.shape[0],"条")

# 构建模型
'''
默认核函数是 ‘rbf’-->就是radial basis function keranl (径向基核函数)
模型准确率约为0.89
使用线性核函数(linear)构建模型,准确率在0.908左右
线性核函数主要用于线性可分的情况
在特征数量相对于样本数量非常多的时候,适合采用线性核函数
'''
model = svm.SVC(decision_function_shape='ovo',kernel='linear')
print("2.训练模型……")
model.fit(xTrain,yTrain)
print("3.保存模型……")
joblib.dump(model,"model/svm_classifier_model1.m")
print("4.加载测试数据,对测试数据进行标准化……")
test_data = pd.read_csv("digits_testing.csv")
yTest = test_data.values[:,0]
xTest = test_data.values[:,1:]
print("测试数据:",xTest.shape[0],"条")
xTest = normalization(xTest)
print("5.加载测试好的模型,进行预测……")
model = joblib.load("model/svm_classifier_model1.m")
result =model.predict(xTest)
print("预测错误数据:",(result!=yTest).sum())
print("测试数据正确率:",(result==yTest).sum()/len(yTest))
print("模型内构建正确率估计:",model.score(xTest,yTest))

报错如下:

img


文件夹里的数据集:

img

'model/svm_classifier_model1.m'这个文件是干嘛的呀?

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月12日
  • 已采纳回答 11月12日
  • 创建了问题 11月11日

悬赏问题

  • ¥15 esp8266控制共阳极wrgb灯板无法关闭所有led灯
  • ¥100 python读取速度问题
  • ¥15 stm32f407使用DMA问题
  • ¥15 您好 这个API接口该怎么弄 网站搭建好了 API也有 现在就不知道该怎么填写API 不知道怎么用
  • ¥88 用uniapp写一个多端的程序,用到高德地图,用高德的JSAPI吗?
  • ¥20 关于#c++#的问题:水果店管理系统
  • ¥30 dbLinq最新版linq sqlite
  • ¥20 对D盘进行分盘之前没有将visual studio2022卸载掉,现在该如何下载回来
  • ¥15 完成虚拟机环境配置,还有安装kettle
  • ¥15 有人会搭建生鲜配送自营+平台的管理系统吗