IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 使用LIBSVM训练核函数 -> 正文阅读

[人工智能]使用LIBSVM训练核函数

Ⅰ-LIVSVM是什么

LIBSVM – A Library for Support Vector Machines
Chih-Chung Chang and Chih-Jen Lin
LIBSVM是台湾大学林智仁教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包。

Ⅱ-使用LIBSVM生成数据集

1.启动LIBSVM
解压好的libsvm目录下找到windows文件夹
在这里插入图片描述
2.鼠标左键单击手动绘制点
在这里插入图片描述
3.再绘制不同颜色的另一组
在这里插入图片描述
4.保存做为训练集,同理设置测试集
在这里插入图片描述
在这里插入图片描述

Ⅲ-使用LIBSVM求决策函数

libsvm用法:svm-train [options] training_set_file [model_file]
options:
-s svm_type:设定SVM类型(默认为0)
0 – C-SVC (多类分类)
1 – nu-SVC (多类分类)
2 – one-class SVM
3 – epsilon-SVR (回归)
4 – nu-SVR (回归)
-t kernel_type:设定核函数类型(默认为2)
0 – linear: u’v 线性核函数
1 – polynomial: (gamma
u’v + coef0)^degree 多项式核函数
2 – radial basis function: exp(-gamma
|u-v|^2) 径向基函数
3 – sigmoid: tanh(gamma*u’v + coef0) sigmoid核函数
4 – precomputed kernel (kernel values in training_set_file) 自定义核函数
-d degree:设定核函数的 degree 值(默认为 3)
-g gamma:设定核函数的 gamma 值(默认为 1/k)
-r coef0:设定核函数的 coef0 值(默认为 0)
-c cost:设定 C-SVC,epsilon-SVR,nu-SVR 的参数惩罚因子C值(默认为 1)
-n nu:设定 nu-SVC,one-class SVM,nu-SVR 的参数nu值(默认为 0.5)
-p epsilon:设定 epsilon-SVR 的损失函数中的 epsilon 值(默认为 0.1)
-m cachesize:设定缓存大小,以 MB 为单位(默认为 100)
-e epsilon:设定终止条件的允差(默认为 0.001)
-h shrinking:是否使用 shrinking heuristics(PS:这玩意太不好翻译),0 或 1(默认为 1)
-b probability_estimates:是否训练一个 SVC 或 SVR 模型做概率估计,0或1(默认为 0)
-wi weight : 对于 C-SVC,设定 i 类的参数 C 为 weight
C(默认为1)
-v n:n-折交叉验证模式
-q :退出模式(无输出)
-g 选项中的的 k 为输入数据的属性数量。
-v 选项随机截取数据为 n 个部分,计算它们的交叉验证的精度或者均方误差。

线性核

from libsvm.svmutil import *
from libsvm.svm import *
import scipy.spatial

label,data= svm_read_problem('E:/P_R_O_J/FOLDER/libsvm-3.25/new/train.txt')#训练数据
p_label,p_data=svm_read_problem('E:/P_R_O_J/FOLDER/libsvm-3.25/new/test.txt')#测试数据

para ='-t 0 -c 4 -b 1' #使用线性核训练参数

model=svm_train(label,data,para)
svm_save_model('E:/P_R_O_J/FOLDER/libsvm-3.25/new/model1.txt',model)
acc=svm_predict(p_label,p_data,model)

在这里插入图片描述

多项式核

只需将-t 0改成1

from libsvm.svmutil import *
from libsvm.svm import *
import scipy.spatial

label,data= svm_read_problem('E:/P_R_O_J/FOLDER/libsvm-3.25/new/train.txt')#训练数据
p_label,p_data=svm_read_problem('E:/P_R_O_J/FOLDER/libsvm-3.25/new/test.txt')#测试数据

para ='-t 1 -c 4 -b 1' #训练参数

model=svm_train(label,data,para)
svm_save_model('E:/P_R_O_J/FOLDER/libsvm-3.25/new/model2.txt',model)
acc=svm_predict(p_label,p_data,model)

在这里插入图片描述

高斯核

只需1改成2

from libsvm.svmutil import *
from libsvm.svm import *
import scipy.spatial

label,data= svm_read_problem('E:/P_R_O_J/FOLDER/libsvm-3.25/new/train.txt')#训练数据
p_label,p_data=svm_read_problem('E:/P_R_O_J/FOLDER/libsvm-3.25/new/test.txt')#测试数据

para ='-t 2 -c 4 -b 1' #训练参数

model=svm_train(label,data,para)
svm_save_model('E:/P_R_O_J/FOLDER/libsvm-3.25/new/model3.txt',model)
acc=svm_predict(p_label,p_data,model)

在这里插入图片描述

小结

此次使用libsvm,对数据进行了处理。

链接:
译 libsvm-3.12中的 README(一)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:37:57  更:2021-11-19 17:40:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/19 14:35:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码