Opencv中SVM的使用问题

本文介绍了在OpenCV中使用SVM时遇到的过拟合问题及解决方案。通过调用CvSVM的train_auto函数,利用交叉验证自动优化参数,如C, gamma等,以提高模型泛化能力。此外,文章还概述了SVM训练的基本流程,包括设置样本集、参数、训练模型以及进行预测。" 111899289,10534934,Python环境配置:bs4、lxml与numpy模块安装教程,"['Python开发', '模块安装', 'pip工具', '数据处理']
摘要由CSDN通过智能技术生成
CvSVM svm;// = CvSVM();//新建一个SVM      
CvSVMParams param;//这里是参数  
CvTermCriteria criteria;      
criteria = cvTermCriteria( CV_TERMCRIT_EPS, 1000, FLT_EPSILON );      
param = CvSVMParams( CvSVM::C_SVC, CvSVM::RBF, 10.0, 0.09, 1.0, 10.0, 0.5, 1.0, NULL, criteria );      
/*     
    SVM种类:CvSVM::C_SVC     
    Kernel的种类:CvSVM::RBF     
    degree:10.0(此次不使用)     
    gamma:8.0     
    coef0:1.0(此次不使用)     
    C:10.0     
    nu:0.5(此次不使用)     
    p:0.1(此次不使用)     
    然后对训练数据正规化处理,并放在CvMat型的数组里。     
                                                        */         
    //☆☆☆☆☆☆☆☆☆(5)SVM学习☆☆☆☆☆☆☆☆☆☆☆☆           
    svm.train( data_mat, res_mat, NULL, NULL, param );//训练啦      
    //☆☆利用训练数据和确定的学习参数,进行SVM学习☆☆☆☆       
    svm.save( "SVM_DATA.xml" ); 

1.首先声明一个CvSVM类


2.OpenCV学习–cvTermCriteria介绍

<pre name="code" class="cpp">CvTermCriteria
迭代算法的终止准则
#define CV_TERMCRIT_ITER    1
#define CV_TERMCRIT_NUMBER  CV_TERMCRIT_ITER
#define CV_TERMCRIT_EPS     2

typedef struct CvTermCriteria
 {
  int    type;  /* CV_TERMCRIT_ITER 和CV_TERMCRIT_EPS二值之一,或者二者的组合 */
  int    max_iter; /* 最大迭代次数 */
  double epsilon; /* 结果的精确性 */
 }
 CvTermCriteria;
/* 构造函数 */
inline  CvTermCriteria  cvTermCriteria( int type, int max_iter, double epsilon );
/* 在满足max_iter和epsilon的条件下检查终止准则并将其转换使得type=CV_TERMCRIT_ITER+CV_TERMCRIT_EPS */
CvTermCriteria cvCheckTermCriteria( CvTermCriteria criteria,
                                    double default_eps,
                                    int default_max_iters );


 
3.Opencv中的CvSVMParams介绍 

C++: CvSVMParams:: CvSVMParams (int  svm_type , 

int kernel_type , 

double degree , 

double gamma , 

double coef0 , 

double Cvalue , 

double nu ,                   

double p , 

CvMat* class_weights ,

CvTermCriteria term_crit

)

4.样本train

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值