首页>>后端>>Python->用python跑svm得多久(Python svm)

用python跑svm得多久(Python svm)

时间:2023-12-20 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于用python跑svm得多久的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

1000个特征7个类别MATLAB中SVM得训练多久

3天

svm模型训练后的参数说明

现简单对屏幕回显信息进⾏说明:

#iter 为迭代次数,

nu 与前⾯的操作参数 -n nu 相同,

obj 为 SVM ⽂件转换为的⼆次规划求解得到的最⼩值,

rho 为判决函数的常数项 b ,

nSV 为⽀持向量个数,

nBSV 为边界上的⽀持向量个数,

Total nSV 为⽀持向量总个数。

训练后的模型保存为⽂件 *.model ,⽤记事本打开其内容如下:

svm_type c_svc % 训练所采⽤的 svm 类型,此处为 C- SVC

kernel_type rbf % 训练采⽤的核函数类型,此处为 RBF 核

gamma 0.0769231 % 设置核函数中的 g ,默认值为 1/ k

nr_class 2 % 分类时的类别数,此处为两分类问题

total_sv 132 % 总共的⽀持向量个数

rho 0.424462 % 决策函数中的常数项 b

label 1 -1% 类别标签

@微生豪资料集合分享

nr_sv 64 68 % 各类别标签对应的⽀持向量个数

SV % 以下为⽀持向量

1 1:0.166667 2:1 3:-0.333333 4:-0.43396

2 5:-0.383562 6:-1 7:-1 8:0.068702

3 9:-1 10:-0.903226 11:-1 12:-1 13:1

0.5104832128985164 1:0.125 2:1 3:0.333333 4:-0.320755 5:-0.406393 6:1 7:1 8:0.0839695 9:1 10:-0.806452 12:-0.333333 13:0.5

1 1:0.333333 2:1 3:-1 4:-0.245283 5:-0.506849 6:-1 7:-1 8:0.129771 9:-1 10:-0.16129 12:0.333333 13:-1

1 1:0.208333 2:1 3:0.333333 4:-0.660377 5:-0.525114 6:-1 7:1 8:0.435115 9:-1 10:-0.193548 12:-0.333333 13:1

4 )采⽤交叉验证选择最佳参数 C 与 g

通常⽽⾔,⽐较重要的参数是 gamma (-g) 跟 cost (-c) 。⽽ cross validation (-v)

的参数常⽤ 5 。那么如何去选取最优的参数 c 和 g 呢? libsvm 的 python ⼦⽬录下⾯的 grid.py 可以帮助我们。 此时。其中安

装 python2.5 需要(⼀般默认安装到 c:/python25

下),将 gnuplot 解压。安装解压完毕后,进⼊ /libsvm/tools ⽬录下,⽤⽂本编辑器(记事

本, edit 都可以)修改 grid.py ⽂件,找到其中关于 gnuplot 路径的那项(其默认路径为

gnuplot_exe=r"c:/tmp/gnuplot/bin/pgnuplot.exe" ),根据实际路径进⾏修改,并保存。然

后,将 grid.py 和 C:/Python25 ⽬录下的 python.exe ⽂件拷贝到 libsvm/windows ⽬录下,键⼊以下命令: $ python grid.py

train.1.scale 执⾏后,即可得到最优参数 c 和 g 。

另外,⾄于下 libsvm 和 python 的接⼝的问题,在 libsvm2.86 中林⽼师已经帮助我们解决,在/libsvm/windows/python ⽬录下⾃带了 svmc.pyd 这个⽂件,将该⽂件⽂件复制到

@微生豪资料集合分享

libsvm/python ⽬录下,同时,也将 python.exe ⽂件复制到该⽬录下,键⼊以下命令以检验效

果(注意: .Py ⽂件中关于 gnuplot 路径的那项路径⼀定要根据实际路径修改):

python svm_test.py

如果能看到程序执⾏结果,说明 libsvm 和 python 之间的接⼝已经配置完成,以后就可以直接在python 程序⾥调⽤ libsvm 的函数了!

5 ) 采⽤最佳参数 C 与 g 对整个训练集进⾏训练获取⽀持向量机模型

$ svmtrain –c x –g x –v x training_set_file [model_file]

x 为上述得到的最优参数 c 和 g 的值, v 的值⼀般取 5 。

6 )利⽤获取的模型进⾏测试与预测

使⽤ Svmtrain 训练好的模型进⾏测试。输⼊新的 X 值,给出 SVM 预测出的 Y 值

$ Svmpredict test_file model_file output_file

如: ./svm-predict heart_scale heart_scale.model heart_scale.out

Accuracy = 86.6667% (234/270) (classification)

这⾥显⽰的是结果

⼀个具体使⽤的例⼦。

以 libsvm 中的 heart_scale 作为训练数据和测试数据,同时已经将 python 安装⾄ c 盘,并将grid.py ⽂件中关于 gnuplot 路径的默认值修改为实际解压缩后的路径,将

heart_scale 、 grid.py 和 python.exe 拷贝⾄ /libsvm/windows ⽂件夹下。

./svm-train heart_scale

optimization finished, #iter = 162

nu = 0.431029

obj = -100.877288, rho = 0.424462

nSV = 132, nBSV = 107

Total nSV = 132

此时,已经得到 heart_scale.model ,进⾏预测:

./svm-predict heart_scale heart_scale.model heart_scale.out

Accuracy = 86.6667% (234/270) (classification)

正确率为 Accuracy = 86.6667% 。

./python grid.py heart_scale

得到最优参数 c=2048 , g=0.0001220703125.

./svm-train -c 2048 -g 0.0001220703125 heart_scale 得到 model 后,由 ./svm-predict heart_scale heart_scale.model

heart_scale.out 得到的正确

率为 Accuracy = 85.1852%.这块还有点迷惑?为什么正确率降低了?

当然也可以结合subset.py 和 easy.py 实现⾃动化过程。

@微生豪资料集合分享

如果要训练多次,可以写个批处理程序省好多事。

这⾥举个例⼦:

::@ echo off

cls

:: split the data and output the results

for /L %%i in (1,1,1000) do python subset.py b59.txt 546 b59(%%i).in8 b59(%%i).out2

for /L %%i in (1,1,1000) do python easy.py b59(%%i).in8 b59(%%i).out2 result89.txt

这段批处理代码⾸先调⽤subset.py对⽂件b59.txt执⾏1000次分层随机抽样(对数据进⾏80-20%分割)然后调⽤easy.py 进⾏1000次参数寻优,把记录结果写到result89.txt中

(包括1000次训练的分类准确率和参数对)。

还可以调⽤fselect.py进⾏特征选择,调⽤plotroc.py进⾏roc曲线绘制。

先写到这⾥吧,希望能和⼤家⼀起学习libsvm,进⼀步学好svm。

打开APP获取全文

已精选svm模型训练后...会员文档796篇

MATLAB中SVM(支持向量机)的用法

31人阅读

OpencvSVM支持向量机参数与优化:

8人阅读

SVM参数设置及各种参数意义

32人阅读

sklearnsvm调参_SVM调优详解·7125messi的博客

在网上学习Python开发需要多久?

不同培训学校有不同的培训周期,一般培训学校的学习周期为五个月;如果是自学的话,周期少则半年以上,多则一年半左右 ,综合个人的实际情况来决定,一般培训Python课程分为5个主要学习阶段,分别从Python核心编程、全栈开发、爬虫开发、人工智能、就业指导依次培训。

一般会用五周左右的时间学习Python核心编程,通过Python语言基础知识以及Linux相关知识的学习,了解什么是数据库,掌握Python的基础内容。第二阶段会用五周左右的时间学习全栈开发的内容,配合项目讲解新的内容,用真实的企业项目,使学员掌握真正的开发流程和技术。第三阶段是网络爬虫的学习,一般是3周左右。用Scrapy框架和MongoDB实现百万量数据的爬取;第四阶段是人工智能的学习了,大约需要六周。了解行业中流行的数据模型和算法,使用主流人工智能框架进行项目开发最后一阶段是就业指导,帮助学院修改简历,提供多方面的就业服务。千锋教育拥有多年Python培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。

熟练使用python需要多久

如果是自学,从零基础开始学习Python的话,依照每个人理解能力的不同,大致上需要半年到一年半左右的时间,当然,如果有其它编

程语言的经验,入门还是非常快的,大概需要2~3个月可以对上手Python语言编写一些简单的应用。

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断

更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

推荐学习《python教程》

在您开始之前,在你的计算机将需要Python,但您可能不需要下载它。首先检查(在同级目录下在命令行窗口输入python)有没有安装

Python。如果你看到了一个Python解释器的响应,那么就能在它的显示窗口中得到一个版本号。通常的版本都可以做到Python的向前兼容。

如果您需要安装, 您不妨下载最近稳定的版本。 就是那个以没有被标记作为alpha或Beta发行的最高的版本。目前最稳定的版本是

Python3.0以上。

python跑10000个数据集要多久

看具体采集任务的内容,如果是图片,访问地址规范,熟悉规则,也就是一两分钟的事情,如果是复杂网页,并且反爬规则负杂可能需要半个小时,如果类似从天眼查爬取整个公司信息10000个,可能需要一两天,因为一个公司就需要n多信息

结语:以上就是首席CTO笔记为大家整理的关于用python跑svm得多久的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于用python跑svm得多久的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/46005.html