当前位置: 首页 > article >正文

基于支持向量机的Digits手写数字识别

  1. 加载查看Digits数据集,使用matshow方法将像素矩阵显示为图片。

           

结果如下:

使用不同核函数的支持向量机分类模型进行分类

2.1.正则化系数C的修改:

分别记录四种核函数在正则化参数C分别为0.01, 0.05, 0.1, 0.5, 1时的模型准确率。并使用网格搜索选择出最佳的模型参数和得分,最后执行交叉验证并计算模型的性能指标

结果如下:

2.2.多项式核下多项式维度参数degree的修改:

分别记录多项式核函数下维度参数为1, 3, 5, 7, 9时的模型准确率。

结果如下:

  1. sklearn中SVC函数相关参数的修改

3.1.正则化系数C的修改

分别记录四种核函数在正则化参数C分别为0.01, 0.05, 0.1, 0.5, 1时的模型准确率。

正则化参数C

0.01

0.05

0.1

0.5

1

rbf核

0.111

0.914

0.947

0.978

0.981

linear核

0.978

0.983

0.975

0.975

0.975

poly核

0.089

0.344

0.569

0.922

0.964

sigmoid核

0.328

0.894

0.919

0.942

0.931

结果如下,并把结果记录在题目表格中:

3.2.多项式核下多项式维度参数degree的修改

分别记录多项式核函数下维度参数为1, 3, 5, 7, 9时的模型准确率。

维度degree

1

3

5

7

9

C=0.01

0.408

0.089

0.119

0.128

0.131

C=0.05

0.908

0.344

0.183

0.169

0.144

C=0.1

0.939

0.569

0.264

0.175

0.167

C=0.5

0.972

0.922

0.489

0.269

0.208

结果如下,并把结果记录在题目表格中:

  1. 绘制ROC曲线

       请按照给出的代码示例编写代码,绘制数字8和9对应的两条ROC曲线。

      

结果如下:

5.保存模型,使用加载的模型进行预测

结果如下:

  • 结果分析

不同的核函数对模型精度有一定的影响。可以看到在下表中,当正则化参数为0.01时,linear核的SVM模型准确率已经达到了0.978,sigmoid核的模型准确率较低为0.328,而其他核函数的模型准确率则非常低,可见在其他条件相同的情况下,使用不同的核函数对模型好坏有着比较大的影响。

不同的正则化参数对模型精度有一定的影响。如下图所示,对于rbf核,正则化参数C为0.01时模型准确率为0.111,C为0.05时模型准确率就达到了0.914,随着C的继续增大,对模型准确率的影响逐渐减小。而对于linear核这种一开始表现就比较好的核函数,调整C的大小对其结果的影响也是比较小的,甚至可能出现负优化,比如这里linear核的C从0.05到0.1的过程,模型准确率从0.983下降为0.975。同理,对于同一个多项式维度下的模型,不同的C也对模型的最终准确率产生了影响,并且对于不同的维度,C的影响力也不一样,这里在维度1下,C从0.01到0.05的过程对模型影响较大,而维度3下C从0.1到0.5的过程对模型的影响较大。

不同的多项式阶数对模型精度也有一定的影响。如下图所示,在C=0.05的情况下,随着维度的增高,模型的准确率在下降,并且下降速度是先快后慢的。在不同正则化参数C的情况下,初始准确率越高的模型,随着维度的增高受到的影响越小,最终的模型准确率下降的相对较少,在C=0.01的时候,一维的准确率较低,随着维度的增加,模型准确率下降,甚至出现了“触底反弹”的情况;而对于C=0.1的情况,一维准确率较高,随着维度的增大,其下降幅度相对较小。


http://www.kler.cn/a/567996.html

相关文章:

  • DeepSeek 开源周:第五天 - Fire-Flyer 文件系统(3FS)
  • SpringBoot同一功能处理
  • 【Web 大语言模型攻击简介】
  • Java Web应用中获取客户端的真实IP地址
  • MATLAB实现四阶龙格库塔法求解常微分方程组
  • 软件工程----内聚与耦合
  • MySQL 中如何解决深度分页的问题?什么是 MySQL 的主从同步机制?它是如何实现的?如何处理 MySQL 的主从同步延迟?
  • 大白话前端性能优化方法的分类与具体实现
  • 【Linux网络编程】高效I/O--select/poll服务器
  • Android AsyncLayoutInflater异步加载xml布局文件,Kotlin
  • 支持向量机(Support Vector Machine,SVM)详细解释(带示例)
  • 关于手眼标定的数学模型及标定流程
  • Seaborn知识总结
  • 【基于PHP的CMS动态网站的渗透测试流程】
  • android studio gradle 阿里镜像
  • Spark内存迭代计算
  • 电脑软件:推荐一款非常实用的PDF合并分割工具PDFsam
  • 第十三届蓝桥杯大赛软件赛决赛C/C++ 大学 B 组
  • PySpark实现Snowflake数据导出到Amazon Redshift
  • Vue进阶之Vue2源码解析