当前位置:   article > 正文

libSVM使用实验报告_libsvm3.24

libsvm3.24

前言

  libSVM是台湾林智仁(Chih-Jen Lin) 教授2001年开发的一套支持向量机库,这套库运算速度挺快,可以很方便的对数据做分类或回归。由于libSVM程序小,运用灵活,输入参数少,并且是开源的,易于扩展,因此成为目前国内应用最多的SVM的库。
  实验报告基于第一次使用libSVM后的体验撰写而成。

实验环境介绍

  • libSVM版本
    libsvm-3.24
  • python版本
    python-3.7.8
  • 数据集
    采用UCI上的iris数据集

实验准备

  1. 下载libsvm-3.24.zip解压至D:\Program Files\libsvm内容如下:
    在这里插入图片描述
  2. 下载gnuplot至D:\Program Files\gnuplot内容如下:
    在这里插入图片描述
  3. 对iris数据集进行处理

处理前

在这里插入图片描述

处理后

在这里插入图片描述

实验流程

  • 使用svm-scale对数据进行标准化,区间为[-1, 1]。
    在这里插入图片描述

处理后数据集

在这里插入图片描述

  • 使用tools中的subset.py拆分训练集和测试集(默认采用分层选择)
    在这里插入图片描述
  • 采用svm-train.py进行训练(线性核)
    在这里插入图片描述

模型内容

在这里插入图片描述

  • 采用svm-train.py进行训练(高斯核)
    在这里插入图片描述

模型内容

在这里插入图片描述

  • 使用线性核模型进行预测
    在这里插入图片描述
  • 使用高斯核模型进行预测
    在这里插入图片描述
  • 使用grid.py进行参数优化
    在这里插入图片描述

优化结果

在这里插入图片描述

  • 采用理论最优参数进行训练(默认采用高斯核)
    在这里插入图片描述

模型内容

在这里插入图片描述

  • 采用理论最优模型进行预测

较原本模型有所提升

在这里插入图片描述

实验感悟

  这次实验是我第一次使用libSVM,总体感觉libSVM提供的工具十分便捷,很容易上手,并且功能十分强大。
  对于本次实验所采用的鸢尾花数据集,采用高斯核训练的模型相较于采用线性核训练的模型会有选用更多的支持向量,但预测效果相差1%,而理论最佳模型选取了最少的支持向量,和采用线性核所训练出来的结果一直,虽然很有可能是数据集的影响,但也在一定程度上能够说明支持向量的多少并不一定能够决定模型的好坏。
  本次实验的遗憾在于对于鸢尾花数据集并没有一个明显地优化效果,但在之后的学习中,我还会继续实验,深入感受SVM的魅力。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/609666
推荐阅读
相关标签
  

闽ICP备14008679号